Ano*_*non 6 python django rabbitmq celery celery-task
我希望能够中止从Celery队列运行的任务(使用rabbitMQ).我用这个叫任务
task_id = AsyncBoot.apply_async(args=[name], name=name, connect_timeout=3)
Run Code Online (Sandbox Code Playgroud)
其中AsyncBoot是已定义的任务.
我可以获取任务ID(假设这是apply_async返回的长字符串)并将其存储在数据库中,但我不确定如何调用中止方法.我看到如何使Abortable tasks类使方法不可用,但如果我只有task-id字符串,我该如何在任务上调用.abort()?谢谢.
Mat*_*ttH 10
apply_async返回一个AsyncResult实例,或者在这种情况下是一个AbortableAsyncResult.保存task_id并使用它来AbortableAsyncResult稍后实例化一个新的,确保你提供后端可选参数,如果你没有使用default_backend.
abortable_async_result = AsyncBoot.apply_async(args=[name], name=name, connect_timeout=3)
myTaskId = abortable_async_result.task_id
Run Code Online (Sandbox Code Playgroud)
后来:
abortable_async_result = AbortableAsyncResult(myTaskId)
abortable_async_result.abort()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2869 次 |
| 最近记录: |