【发布时间】:2018-08-22 15:41:54
【问题描述】:
在生产服务器上运行 Django/Celery/RabbitMQ 时,一些任务被正确发送和消费。但是,RabbitMQ 在处理完成后开始耗尽所有 CPU。我相信这与下面的报道有关。
RabbitMQ on EC2 Consuming Tons of CPU
在该线程中,建议设置这些配置值:
- CELERY_IGNORE_RESULT
- CELERY_AMQP_TASK_RESULT_EXPIRES
我在调用 appl_async() 时分叉并自定义了 celery-haystack 包以设置这两个值,但它似乎没有任何效果。
我认为 Celery 正在自动创建大量(每个任务一个)以 uid 命名的队列来存储结果。但我似乎无法阻止它。
有什么想法吗?
【问题讨论】:
标签: rabbitmq celery django-haystack