我已经构建了一个 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 我创建了一个 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"