2013-02-20 4 views
3

셀러리 비트로 정교한 일정을 구성 할 수 있습니까? 예 : 다음과 같은 내용 :셀러리에서 평일을 인식하는 작업을 예약하는 방법

월요일 - 금요일에 작업 A를 매개 변수 (x1, y1)로 실행 한 다음 작업 B 토요일, 일요일에 작업 A를 매개 변수 (x2, y2) do do job B

이 일정을 확인할 빈도가 높은 "틱"작업을 구현할 수 있음을 알고 있지만,이 항목이 이미있는 경우 바퀴를 재발 명하고 싶지 않습니다.

답변

9

물론, 작업에는 crontab schedule을 사용하십시오.

from celery.schedules import crontab 

CELERYBEAT_SCHEDULE = { 
    # Executes every weekday morning at 7:30 A.M 
    'weekdays': { 
     'task': 'tasks.A', 
     'schedule': crontab(hour=7, minute=30, day_of_week='1-5'), 
     'args': (x1, y1), 
    }, 
    # Executes saturday morning at 4:00 A.M 
    'saturday': { 
     'task': 'tasks.B', 
     'schedule': crontab(hour=7, minute=30, day_of_week='sat'), 
     'args': (x1, y1), 
    }, 
    # Executes sunday morning at 2:15 A.M 
    'sunday': { 
     'task': 'tasks.A', 
     'schedule': crontab(hour=2, minute=15, day_of_week='sun'), 
     'args': (x2, y2), 
    }, 
} 
+0

OS crontab 또는 celerybeat에 연결되어 있습니까? – Goro

+0

@ 고로 : 셀러리가 제공하는 수업입니다. –