오늘은 특정한 작업을 주기마다 실행하기 위해서 어떻게 할까 찾아보다가 여러 방법들 중에 하나인 Schedule 라이브러리를 사용해 보기로 했다.
Schedule 라이브러리를 사용하기 위해서는 pip 명령어를 이용해서 설치를 해줘야 한다.
pip install schedule
schedule.default_scheduler = <schedule.Scheduler object>
Default Scheduler object
schedule.jobs = []
Default Jobs list
schedule.every(interval=1)
Calls every on the default scheduler instance.
schedule.run_pending()
Calls run_pending on the default scheduler instance.
schedule.run_all(delay_seconds=0)
Calls run_all on the default scheduler instance.
schedule.clear(tag=None)
Calls clear on the default scheduler instance.
schedule.cancel_job(job)
Calls cancel_job on the default scheduler instance.
schedule.next_run()
Calls next_run on the default scheduler instance.
schedule.idle_seconds()
Calls idle_seconds on the default scheduler instance.
아래 코드와 같이 scheduel 사용법은 간단하다.
import schedule
import time
def job():
print('job job')
# 1분마다 job 실행
schedule.every(1).minutes.do(job)
#매일 12시마다 job 실행
schedule.every().day.at("12:00:).do(job)
while True:
schedule.run_pending()
time.sleep(1)
주기마다 함수를 실행하는 방법에 뭐가 있는지 잘 몰랐지만 오늘 schedule을 사용해서 할 수 있다는 것을 알게 되었다. 생각보다 등록해서 사용하는게 간단하고 쉬웠다.
schedule에 대해서 모르는 사람이 봐도 코드를 보고 이해할 수 있을 것 같아 보였다.