Python RabbitMQ或Redis使用Django 2.0爆炸芹菜队列
我遇到了芹菜和Django 2的问题。我有两个运行环境:Python RabbitMQ或Redis使用Django 2.0爆炸芹菜队列,python,django,redis,rabbitmq,celery,Python,Django,Redis,Rabbitmq,Celery,我遇到了芹菜和Django 2的问题。我有两个运行环境: 生产:=>无问题 amqp==2.2.2 django==1.11.6 芹菜==4.1.0 django芹菜节拍==1.0.1 django芹菜监视器==1.1.2 kombu==4.1.0 redis==2.10.6 发展:=>当前问题 amqp==2.2.2 django==2.0.3 芹菜==4.1.0 django芹菜节拍==1.1.1 django芹菜监视器==1.1.2 kombu==4.1.0 redis==2.10
- 生产:=>无问题
- amqp==2.2.2
- django==1.11.6
- 芹菜==4.1.0
- django芹菜节拍==1.0.1
- django芹菜监视器==1.1.2
- kombu==4.1.0
- redis==2.10.6
- 发展:=>当前问题
- amqp==2.2.2
- django==2.0.3
- 芹菜==4.1.0
- django芹菜节拍==1.1.1
- django芹菜监视器==1.1.2
- kombu==4.1.0
- redis==2.10.6
celery beat -A application --loglevel=info --detach
celery events -A application --loglevel=info --camera=django_celery_monitor.camera.Camera --frequency=2.0 --detach
celery worker -A application -l info --events
应用程序设置
自从我将我的开发环境迁移到Django 2以来,我的RabbitMQ队列或Redis队列的大小基本上呈爆炸式增长,我的数据库实例也在不断扩展。任务似乎不再从队列中删除
几天后,我不得不手动清理芹菜队列,该队列包含25000个任务。看起来TTL设置为“-1”,但是我不知道如何从django设置它
几个小时后,我有超过220k的任务等待处理和增长。
我使用以下设置:在文件中可用
警告:芹菜的名称可能不正确,需要重新映射才能正确分配文件的值
工人日志示例
一些想法:将“expires”和“timelimit”设置设置为None(见上图)是否正常。我想我找到了一个临时解决方案,芹菜库似乎有一些bug。我们必须等待4.2.0的发布 我建议您看看: 作为临时bug修复,我建议使用以下提交:,它似乎已经修复了问题:
git+https://github.com/celery/celery.git@be55de6#egg=celery
这些工作真的被执行了吗?@DanielRoseman,我已经做了大量的检查,是的,任务似乎被消耗掉了。我以前的说法是不正确的。如果可以的话,我已经用工作人员的日志编辑了我的帖子。
git+https://github.com/celery/celery.git@be55de6#egg=celery