所以我让它正常工作,并且我已经测试了它的性能完全符合预期,但我似乎无法让它作为守护程序正常运行。所以对于初学者来说,我正在运行一个 django 应用程序并使用 mongodb 作为后端,我拥有所有必需的模块
目前我可以使用
celery worker --beat --app=matter.celeryapp --loglevel=DEBUG
重要的是我的项目文件夹,而 celeryapp 是应用程序(我发现像教程中那样命名它只是芹菜,只是导致它根本不起作用)
所以我创建了文件
/etc/init.d/celerybeat
/etc/default/celerybeat
并调用它
/etc/init.d/celerybeat start
但主要问题似乎是我的配置在我的 Django settings.py 中。
出于某种原因,它似乎从未从那里读取我的设置。我什至有我的CELERY_APP = matter.celeryapp,但这似乎不起作用。
我知道这是不正确的,因为它使用日志文件显示它使用的是默认代理而不是 mongo
你必须将 Django 设置导出到你的环境中。添加到/etc/default/celerybeat
:
# Project path
CELERYD_CHDIR="/path/to/manage.py/dir/"
# Name of projects setting module relative to project path.
export DJANGO_SETTINGS_MODULE="matter.settings"