Prz*_*mek 12 django celery django-piston
我已经构建了一个Django Web应用程序和一些Django-Piston服务.使用Web界面用户提交的一些数据被发布到Web服务,进而该Web服务使用Django的芹菜启动一个后台任务.
使用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"
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试从命令行启动celeryd时,我收到以下错误:
"Missing connection string! Do you have "
celery.exceptions.ImproperlyConfigured: Missing connection string! Do you have CELERY_RESULT_DBURI set to a real value?
Run Code Online (Sandbox Code Playgroud)
不知道从哪里开始.以下是我的settings.py部分,因为它与此问题有关:
BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "controllerFramework"
BROKER_PASSWORD = "******"
BROKER_VHOST = "localhost"
Run Code Online (Sandbox Code Playgroud)
所以我最终与django-celery上的项目负责人聊天.几件事.首先必须使用'manage.py celeryd'运行芹菜.其次,在settings.py文件中你必须'import djcelery'这个导入问题可能会在下一个版本中修复,但现在你必须这样做.