У меня есть задача с сельдереем, и мне нужно, чтобы она выполнялась только следующие пять дней в 12:30. Как мне это сделать, используя celery-beat. Я знаю, как запускать его периодически навсегда, но не могу понять только следующие пять дней. Любая идея?
Celery периодически запускает задачу только в следующие 5 дней
comment
тебе повезло с этим?
- person Borko Kovacev   schedule 27.04.2017
Ответы (1)
Ознакомьтесь с документацией по celery-beat для crontab а>. Хотя, если это буквально разовая вещь, то по определению она не совсем периодическая. Вы можете настроить периодическую задачу crontab для запуска в 00:30 в течение следующих 5 дней, но вам также нужно будет не забыть отключить ее вручную.
Если вы пойдете по этому пути
from celery.schedules import crontab
CELERYBEAT_SCHEDULE = {
'add-at-midnightish': {
'task': 'tasks.add',
'schedule': crontab(hour=0, minute=30,),
'args': (16, 16),
},
}
В качестве альтернативы вы можете использовать ключевое слово eta
для apply_async
, как указано в часто задаваемые вопросы о сельдерее
person
Thtu
schedule
04.05.2016
Согласен, но мне не нужно выключать его вручную. Есть ли способ автоматически отключить его через пять дней.
- person Sandeep; 05.05.2016