我是芹菜的新手,我无疑错过了明显的东西,但是如何在另一个芹菜some_other_task中开始芹菜some_worker_task,它应该完全独立于some_other_task执行?特别是,我有一个芹菜弦
junk = chord((task_create_syslog_records.s(syslog, user, syslog.fileset_id)
for syslog in syslog_queryset),
task_create_syslog_records_done_email.si(user, len(syslog_queryset), syslog_queryset[0].fileset_id))()
在其中一个task_create_syslog_records中的某些条件下,我需要启动另一个与thechord无关的任务do_some_stuff。它可以完全独立于和弦运行,并且和弦不需要/想要它的结果。即使do_some_stuff仍在运行,和弦应该完成并且task_create_syslog_records_done_email也会运行。
答案 0 :(得分:0)
您可以在现有任务中创建另一个芹菜任务:
@app.task
def do_some_stuff():
pass
@app.task
def task_create_syslog_records(syslog, user, filset_id):
# ...
if condition_is_matched:
do_some_stuff.delay()
# ...
return result