python - 是否可以手动重启 celery 任务

标签 python django celery

我使用 celery 3 与 django 和flower 来监控任务。

有没有办法,如果

  1. 我的任务失败
  2. 然后我在代码中进行一些修复
  3. 然后我获取任务 ID,然后重新启动该任务

可以吗

或者甚至是手动将任何失败的任务放入另一个队列中的方法,以便在修复其原因后可以再次处理它

最佳答案

有点 hack,但对我有用的是创建一个具有相同任务 ID 的新任务实例。例如,ID 为“abc”的任务运行并失败。然后我通过运行“重新启动”任务:

my_task.apply_async(args=('whatever'), task_id='abc')

实际上,这与其说是“重新启动”,不如说只是替换原始任务结果,但它完成了工作。绝对愿意在这里接受更好的建议,因为它确实感觉有点笨拙。

关于python - 是否可以手动重启 celery 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36974773/

相关文章:

python - 如何在 celery 组中为子任务添加延迟?

python - 改变 CELERYBEAT_SCHEDULER

python - 用户可以在 Flask URL 参数中使用的限制值

python - django 导入_导出 |数据未从数据库导出

python - Weasyprint 或 Reportlab 用于在 Heroku 上生成 Django 报告

python - 在 Flask 中实现单个 worker 的最佳方式

python - 由于焦点位于前一帧的条目,Tkinter 绑定(bind)方法不起作用

python模块导入语法

mysql - django 字符集与 MySQL 怪异

django - 如何在 Django Admin 的 list_display 属性中定位内联?