Python을 사용한 웹 스크레이퍼(아름다운 수프) 및 Heroku에 배포 [2부]

내 프로젝트를 작성하고 테스트한 후 Heroku 서버에 푸시했습니다. 프로그램을 정기적으로 수동으로 실행하면 시간이 지남에 따라 지루해질 수 있으므로 일정(일명 크론 작업)을 지정하여 지정된 시간(제 경우에는 매일)에 자동으로 실행되도록 했습니다. Heroku는 확인되지 않은 사용자(here is 계정 확인 방법)가 add-ons을 사용하는 것을 허용하지 않으므로 python schedule 모듈을 사용하여 수동으로 예약했습니다. 나중에 신용 카드로 계정을 확인한 후 Heroku Scheduler을 사용할 수 있었습니다. 이번 포스트에서는 두 가지 방법을 모두 살펴보겠습니다. 그러나 먼저 PostgreSQL을 Python의 데이터베이스에 연결해야 합니다.

Python을 PostgreSQL에 연결
Connecting in Python에서는 PostgreSQL을 사용하여 Heroku 서버의 데이터베이스에 연결하는 방법을 설명합니다. 먼저 psycopg2 패키지를 설치해야 합니다.pip install psycopg2-binary그런 다음 이 패키지로 DATABASE_URL에 연결하십시오.

import os
import psycopg2

DATABASE_URL = os.environ['DATABASE_URL']

conn = psycopg2.connect(DATABASE_URL, sslmode='require')



Python 일정으로 예약
Python 일정 모듈은 이름에서 알 수 있듯이 친숙한 구문을 사용하여 Python 함수(또는 호출 가능한 다른 함수)를 주기적으로 실행합니다.

다음 명령으로 설치합니다.$ pip install schedule
일정 및 시간 모듈 가져오기:

import schedule
import time


함수를 정의합니다.

def function_name():
    # ToDo

schedule.every(10).minutes.do(function_name)
schedule.every().hour.do(function_name)
schedule.every().day.at("10:30").do(function_name)
schedule.every().monday.do(function_name)
schedule.every().wednesday.at("13:15").do(function_name)
schedule.every().minute.at(":17").do(function_name)

while True:
    schedule.run_pending()
    time.sleep(1)


출처: https://schedule.readthedocs.io/en/stable/

Heroku 서버에 코드 푸시
Heroku는 꽤 인기 있는 클라우드 플랫폼입니다. Getting Started on Heroku with Python에서 Heroku CLI를 컴퓨터에 설치하고 Git을 사용하여 프로젝트를 서버에 푸시하는 방법을 자세히 볼 수 있습니다.
위의 자습서Procfile와 달리 작업자 프로세스 유형을 사용해야 합니다!



Heroku 스케줄러로 스케줄링
무료 dyno의 경우 Heroku는 월 550시간(read more about dynos)에 계정을 확인하면 450시간을 제공합니다.
Python Schedule을 사용하여 코드를 Heroku에 푸시하면 무료 dyno 시간이 많이 사용될 수 있습니다.

이것이 우리가 Heroku Scheduler을 활용하는 이유입니다.

앱의 "리소스"섹션으로 이동합니다.

Heroku 스케줄러를 찾아 추가하십시오.

Heroku 스케줄러 애드온을 클릭하십시오.

적당한 기간의 작업을 생성하고 저장


마지막에 당신은 당신의 작업을 확인할 수 있습니다heroku logs --tail
부인 성명!
2022년 11월 28일부터 Redis용 무료 Heroku Dynos, 무료 Heroku Postgres 및 무료 Heroku 데이터를 더 이상 사용할 수 없습니다.
추가 정보
https://blog.heroku.com/next-chapter

좋은 웹페이지 즐겨찾기