Celery 任务由不同的程序二进制文件执行

Celery tasks are executed by different program binaries

我有一个通过 celery 执行任务的 Django 网络应用程序。它是 运行 与 Apache、uWSGI 和 Redis 的组合。由于某种原因,其中一个任务由 uWSGI 服务器执行,另一个由 Python 解释器执行。这导致了权限问题,因为 uWSGI 不像 Python 那样 运行 是同一个用户。

什么会导致任务 运行 由不同的程序执行?有什么设置吗?

事实证明,我需要用 .delay() 调用任务来让 Celery 守护进程而不是 uWSGI 来执行任务。