我已经构建了一个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) 我有一个model.FileField(upload_to ='%Y /%m /%d')字段.这很好用; 但是,我想根据用户上传文件的上下文重命名文件,然后再保存文件.有没有办法在保存之前修改请求对象以实现此目的?
我遇到过类似问题的人,但答案总是指向Django文档.我已经尝试使用文档来解决这个问题但不能.有人可以提供一些代码来显示热点来解决这个问题吗?
提前致谢.