본문 바로가기
Python/Python FAQ

Python 파이썬에서 크론과 유사한 스케줄러를 어떻게 사용할 수 있을까요?, How do I get a Cron like scheduler in Python?

by 베타코드 2023. 11. 2.
반응형

질문


나는 atcron과 유사한 기능을 제공하는 Python 라이브러리를 찾고 있습니다.

박스에 설치된 도구에 의존하는 대신 순수한 Python 솔루션을 선호합니다. 이렇게 하면 cron이 없는 기계에서도 실행할 수 있습니다.

cron에 익숙하지 않은 사람들을 위해: 다음과 같은 표현식을 기반으로 작업을 예약할 수 있습니다.

 0 2 * * 7 /usr/bin/run-backup # 매주 일요일 0200에 백업 실행
 0 9-17/2 * * 1-5 /usr/bin/purge-temps # 월요일부터 금요일까지 매 2시간마다 9시부터 17시까지 임시 파일 정리 명령 실행

cron 시간 표현식 구문은 덜 중요하지만, 이와 유사한 유연성을 가진 것을 원합니다.

제공되는 기능이 없다면, 이와 유사한 것을 만들기 위한 기본 구성 요소에 대한 제안은 감사히 받겠습니다.

편집 나는 프로세스를 시작하는 것이 아니라 "작업"에만 관심이 있습니다. 또한 Python으로 작성된 작업 - Python 함수입니다. 필연적으로 이것은 다른 스레드이지만 다른 프로세스가 아닙니다.

이를 위해 Python에서 cron 시간 표현식의 표현력을 찾고 있습니다.

Cron은 수년 동안 존재해 왔지만, 가능한 한 이식성이 있도록하려고 합니다. 그것의 존재에 의존할 수 없습니다.


답변


만약 가벼운 것을 찾고 있다면 schedule을(를) 확인해보세요:

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)

공개: 저는 그 라이브러리의 저자입니다.

반응형

댓글