您的位置:首页 > 编程语言 > Go语言

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//',‘
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: