wilson's story

Python APScheduler 스케줄 설정 본문

Python

Python APScheduler 스케줄 설정

wilson 2020. 5. 30. 15:47
반응형

python 에서 스케줄을 적용할때는 보통 리눅스의 cron 을 사용하였다

좀더 편한 방법을 찾던중 파이썬내에서 스케줄을 제어 할 수 있는 라이브러리가 있었다

https://pypi.org/project/APScheduler/

pip install APScheduler
from apscheduler.schedulers.background import BackgroundScheduler


def schedulerJob():
    # 실행할 프로세스

def backgroundScheduler():
    scheduler = BackgroundScheduler(daemon=True)
    scheduler.start()
    scheduler.add_job(schedulerJob, 'cron', hour=9)
    # schedulerJob을 오전 9시마다 실행하겠다

if __name__ == '__main__':
    backgroundScheduler()

 

개인적으로 사용빈도가 높은 스케줄러 
BackgroundScheduler: 스케줄러를 애플리케이션 내부의 백그라운드에서 실행

트리거 타입 종류
date: 특정 시점에 작업을 한 번만 실행 -> 상세설명


interval: 고정 된 간격으로 작업을 실행 -> 상세설명

 

cron: 리눅스의 cron과 동일 -> 상세설명

 

# 오전 9시 마다 구동
scheduler.add_job(schedulerJob, 'cron', hour=9)

# 180초 마다 구동
scheduler.add_job(schedulerJob, 'interval', seconds=180)

# 2020/5/30 구동
scheduler.add_job(schedulerJob, 'date', run_date=date(2020, 5, 30))

 

자세한 가이드는 apscheduler.readthedocs.io/en/stable/index.html

반응형