>백엔드 개발 >파이썬 튜토리얼 >Python에서 Cron과 유사한 예약을 어떻게 만들 수 있나요?

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

DDD
DDD원래의
2024-12-13 22:29:12721검색

How Can I Create Cron-Like Scheduling in Python?

Python을 사용한 Cron 유사 스케줄링

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

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

가벼우며 순수한 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 분산 작업 대기열과 통합되는 스케줄러.

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

위 내용은 Python에서 Cron과 유사한 예약을 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.