问题描述:
使用celery 作为分布式任务处理器,rabbitmq 作为消息处理器,长时间运行以后发现当Django 采用后台http方式运行的时候,celery 从rabbitmq 读取的数据一直提示序列化错误,而且无法配置多项
CELERY_ACCEPT_CONTENT ,采用redis时则无法收到任何消息。
解决方案:
导致问题的原因主要是由于采用后台运行的时候,django 运行用户实际为非root用户,而是apache 用户,所以需要将celery 运行强制修改为root 权限.
修改方法为:
1、在测试环境: