运行 使用 django 管理命令的 celery 任务

run celery task using a django management command

我正在尝试 运行 从自定义管理命令使用 celery 3.1 的任务。

如果我从一个视图调用我的任务它工作正常但是当从我的管理命令启动相同的任务时,该任务只会运行在当前上下文中同步(不是通过芹菜异步)。

我没有安装 djcelery。

我需要在我的管理命令中添加什么才能在命令行上进行异步任务处理?

从命令行实用程序执行 Celery 任务与从视图执行它们相同。如果你有一个名为 foo 的任务,那么 在这两种情况下 :

  • 调用 foo(...) 执行任务代码,就好像 foo 只是一个普通的 Python 函数。

  • 调用 foo.delay(...) 通过 Celery worker 异步执行任务的代码。