在芹菜完成任务后执行代码

Execute code after celery finishes a tasks

我正在使用 Django 2.0、Python 3.6 和 Celery 4.1

celery 完成一个任务后,我想执行一段代码来更新数据库。

我该怎么做?

有几种方法可以做到这一点。

  1. 执行代码以更新数据库,并在任务结束时 运行 它。您可以实现自己的 on_success
  2. 如果您正在执行许多小任务并且之后需要执行清理任务,那么使用 group or chord 后者非常有用,但需要将结果存储作为基础结构的一部分。

因为你似乎只想在任务完成后更新数据库,我会选择#1