我正在通過django的芹菜(版本2.3.2)運行多個模擬任務。芹菜任務不會被撤銷
在views.py:
result = setup_simulations.delay(parameters)
request.session['sim'] = result.task_id # Store main task id
在tasks.py:仿真得到另一個任務設置
@task(priority=1)
def setup_simulations(parameters):
task_ids = []
for i in range(number_of_simulations):
result = run_simulation.delay(other_parameters)
task_ids.append(result.task_id)
return task_ids
初始任務後(setup_simulations)已經完成,我試着撤銷模擬任務如下:
main_task_id = request.session['sim']
main_result = AsyncResult(main_task_id)
# Revoke sub tasks
from celery.task.control import revoke
for sub_task_id in main_result.get():
sub_result = AsyncResult(sub_task_id); sub_result.revoke() # Does not work
# revoke(sub_task_id) # Does not work neither
當我看着「python manage.py celeryd - 信息「,任務就像沒有任何事情一樣被執行。任何想法有人可能會出錯?
這個問題是否可以取決於我使用Kombu作爲經紀人的事實? (這些「虛擬傳輸」可能具有有限的廣播和事件功能,例如遙控命令僅適用於AMQP和Redis。) – Meilo