如何在 celery -A 参数中指定 celery 应用程序位置?

How do I specify celery app location in the celery -A argument?

我有一个 app.py,其中的 celery 定义位于 /foo/app.py.

/foo/app.py

from agent import create_app, ext_celery

app = create_app()
celery = ext_celery.celery

if __name__ == '__main__':
    app.run()

如果我 cd 到 /foo 和 运行 celery -A app.celery worker 一切都按预期开始。

如果我在别的地方,比如~,下面会失败celery -A /foo/app.celery worker

如何为 celery -A 参数提供路径?

我正在尝试将 celery 指定为服务,但它失败了,因为它不在项目文件夹中 运行。

您始终可以使用 $PYTHONPATH 。 PYTHONPATH=/foo celery -A app.celery worker 之类的东西应该可以。

或者:

export PYTHONPATH=/foo
celery -A app.celery worker