2012-02-20 2 views
0

서브 스크립 션을 기반으로 사용자에게 SMS를 보내는 조직에서 일하고 내 스택에는 장고, 셀러리, Redis, RabbitMQ, PostgreSQL, Apache, nginx 및 Kannel이 있습니다. 이 환경에서 모든 SMS 서비스 제공자는 우리가 SMS를 보낼 수있는 일정 기간이 있습니다.일정 기간 동안 셀러리 작업을 실행하도록 예약 할 수 있습니까?

반송파 웹 서비스에 청구 요청을하는 셀러리 작업이 있다고 가정 해 보겠습니다. 대금 청구가 성공적으로 수행되면 SMS를 보내야합니다. 일정 기간 동안이 작업을 보내도록 예약하는 방법이 있습니다. 오전 8시에서 오후 6 시까 지요? 나는 내가 그 (것)들에게 그 다음날을 보낼 것이다 그래야 SMS가 보내야하기 때문에 만기와 만료를 지정할 수있다, 그러나 나는 만기가 싶지 않다는 것을 알고있다

답변

0

당신은 SMS를 대기열에 넣고 crontab shceduler가 특정 시간에 전송합니다. 아래 예제는 tasks.send_sms 작업을 8

http://ask.github.com/celery/userguide/periodic-tasks.html#crontab-schedules

from celery.schedules import crontab 

CELERYBEAT_SCHEDULE = { 
    "every-10-mins-between-8-6": { 
     "task": "tasks.send_sms", 
     "schedule": crontab(minute="*/10", hour="8,18"), 
    }, } 
+0

이 사용 djcelery와 databas 스케줄러를 예약 할 수있는 방법이 있나요 (6) 사이에 10 분 간격으로 실행? – armonge

+0

CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler" – mher