我构建了一个 Django Web 应用程序和一些 Django-Piston 服务。用户使用 Web 界面提交一些数据,这些数据被 POST 到 Web 服务,而该 Web 服务又使用 Django-celery 启动后台任务。
使用manage.py 在开发环境中一切正常。现在我正在尝试将其转移到适当的 apache 服务器上的生产环境。 Web 应用程序和 Web 服务在生产中工作正常,但我在将 celeryd 作为守护进程启动时遇到严重问题。根据这些说明:http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#running-the-worker-as-a-daemon http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#running-the-worker-as-a-daemon我创建了一个 celeryconfig.py 文件并将其粘贴在 /usr/bin 目录中(这是 celeryd 在我的 arch Linux 服务器上的位置)。
CELERYD_CHDIR="/srv/http/ControllerFramework/"
DJANGO_SETTINGS_MODULE="settings"
CELERYD="/srv/http/ControllerFramework/manage.py celeryd"
但是,当我尝试从命令行启动 celeryd 时,出现以下错误:
"Missing connection string! Do you have "
celery.exceptions.ImproperlyConfigured: Missing connection string! Do you have CELERY_RESULT_DBURI set to a real value?
不知道从这里去哪里。下面是我的 settings.py 部分,因为它与这个问题有关:
BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "controllerFramework"
BROKER_PASSWORD = "******"
BROKER_VHOST = "localhost"
所以我最终与 django-celery 的项目负责人进行了交谈。有几件事。首先,celery 必须使用“manage.py celeryd”运行。其次,在 settings.py 文件中,您必须“导入 djcelery”
此导入问题可能会在下一版本中得到解决,但现在您必须执行此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)