sonunda Programı periyodik görev.Kereviz - başka bir görev
Ben Kereviz ile (statik) periyodik görevler oluşturmak için biliyorum:
CELERYBEAT_SCHEDULE = {
'poll_actions': {
'task': 'tasks.poll_actions',
'schedule': timedelta(seconds=5)
}
}
Ama benim görevler dinamik periyodik istihdam yaratmak istiyoruz (ve belki bazı koşul olduğunda bu periyodik işleri durdurmak için bir yol var elde (bütün görevler yapılır)
şey gibi.
@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
...