"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python에서 Cron과 유사한 예약을 어떻게 만들 수 있나요?

Python에서 Cron과 유사한 예약을 어떻게 만들 수 있나요?

2024년 12월 22일에 게시됨
검색:417

How Can I Create Cron-Like Scheduling in Python?

Python을 사용한 Cron과 유사한 예약

유연한 표현식을 기반으로 작업을 예약해야 하는 필요성은 다양한 상황에서 발생합니다. cron은 많은 환경에서 이 목적을 수행하지만 보편적으로 사용 가능하지 않거나 실행 가능하지 않을 수 있습니다. 이러한 경우 Python은 자신만의 크론 유사 스케줄러를 생성하기 위한 여러 옵션을 제공합니다.

일정 라이브러리를 사용한 경량 접근 방식

가벼우며 순수한 Python 기반 솔루션이 원하는 경우 일정 라이브러리는 간단하고 표현력이 풍부한 인터페이스를 제공합니다. cron과 유사한 표현식을 사용하여 작업 예약을 활성화합니다.

import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)

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

이 예에서 job() 함수는 정기적으로 실행됩니다. 표현식을 수정하여 평일 오전 9시부터 오후 5시까지 2시간마다와 같이 복잡한 일정을 정의할 수 있습니다.

대체 접근 방식

일정 라이브러리가 그렇지 않은 경우 특정 요구 사항을 충족하려면 다음 대체 접근 방식을 고려하십시오.

  • apscheduler: 로컬 스레드 및 Celery를 포함하여 여러 백엔드를 지원하는 스케줄링 라이브러리.
  • crontab: crontab 명령을 에뮬레이트하는 Python 패키지로, 쉘 명령의 직접 스케줄링을 허용합니다.
  • celery-beat: Celery 분산 작업과 통합되는 스케줄러 queue.

자신만의 스케줄러를 정의할 때 기본 프로세스가 차단되지 않도록 별도의 스레드에서 Python 함수 실행을 처리해야 한다는 점을 기억하세요.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3