我想在另一组任务结束时动态地安排与芹菜的定期任务。芹菜 - 在另一任务结束时安排定期任务
我知道如何创建(静态)与芹菜周期性任务:
CELERYBEAT_SCHEDULE = {
'poll_actions': {
'task': 'tasks.poll_actions',
'schedule': timedelta(seconds=5)
}
}
但我想从我的任务动态创建定期作业(也许有办法阻止那些周期性的作业时,一些条件实现(所有任务完成)
喜欢的东西:
@celery.task
def run(ids):
group(prepare.s(id) for id in ids) | execute.s(ids) | poll.s(ids, schedule=timedelta(seconds=5))
@celery.task
def prepare(id):
...
@celery.task
def execute(id):
...
@celery.task
def poll(ids):
# This task has to be schedulable on demand
...