Celery 在Django 环境下无法接收消息问题解决
2016-03-19 13:29
387 查看
问题描述:
使用celery 作为分布式任务处理器,rabbitmq 作为消息处理器,长时间运行以后发现当Django 采用后台http方式运行的时候,celery 从rabbitmq 读取的数据一直提示序列化错误,而且无法配置多项CELERY_ACCEPT_CONTENT
,采用redis时则无法收到任何消息。
解决方案:
导致问题的原因主要是由于采用后台运行的时候,django 运行用户实际为非root用户,而是apache 用户,所以需要将celery 运行强制修改为root 权限.
修改方法为:
1、在测试环境:/usr/share/openstack-dashboard/virtEnv/lib/python2.7/site-packages/openstack_dashboard/celery_config.py
文件中增加以下字段:
2 在 /usr/share/openstack-dashboard/openstack_dashboard/setting.py文件中,修改
将原BROKER_URL
修改为’BROKER_URL = 'amqp://guest:guest@172.1.2.1//',‘
使用celery 作为分布式任务处理器,rabbitmq 作为消息处理器,长时间运行以后发现当Django 采用后台http方式运行的时候,celery 从rabbitmq 读取的数据一直提示序列化错误,而且无法配置多项CELERY_ACCEPT_CONTENT
,采用redis时则无法收到任何消息。
解决方案:
导致问题的原因主要是由于采用后台运行的时候,django 运行用户实际为非root用户,而是apache 用户,所以需要将celery 运行强制修改为root 权限.
修改方法为:
1、在测试环境:/usr/share/openstack-dashboard/virtEnv/lib/python2.7/site-packages/openstack_dashboard/celery_config.py
文件中增加以下字段:
2 在 /usr/share/openstack-dashboard/openstack_dashboard/setting.py文件中,修改
将原BROKER_URL
修改为’BROKER_URL = 'amqp://guest:guest@172.1.2.1//',‘
相关文章推荐
- Hdu 3966-Aragorn's Story LCT,动态树
- 【NOIP2013模拟】Heaven Cow与God Bull
- (转)使用graphviz绘制流程图 - CoolJie - 博客园 good
- Django进阶篇【1】
- 11292 - Dragon of Loowater (Time limit: 1.000 seconds)
- go圣经笔记--第二章
- velocity和mangodb和apk的关联
- ant和velocity和mangodb的关联
- udp和mangodb和dos的关联
- jre和wireshark和mangodb的关联
- 我与小娜(39):AlphaGo创造力源于何处?
- golang基础-防忘指北
- 让我们一起Go(八)
- 让我们一起Go(十)
- 让我们一起Go(七)
- 我是如何用Go语言搭建自己的博客的
- 让我们一起Go(四)
- 让我们一起Go(十二)
- 让我们一起Go(二)
- Go语言Windows程序设计(2)--第一个窗口程序