我'm using RabbitMQ 3.6.0 and Celery 3.1.20 on a Windows 10 machine in a Django application. Everything is running on the same computer. I'已将Celery配置为Acknowledge Late( CELERY_ACKS_LATE=True ),现在我遇到了连接问题 .
我启动了Celery工作程序,经过50-60秒的处理任务后,每个工作线程都失败并显示以下消息:
无法确认###,原因:ConnectionResetError(10054,'现有连接被远程主机强行关闭',无,10054,无)
(###是任务的编号)
当我查看RabbitMQ日志时,我看到了:
= INFO REPORT ==== 2016年2月10日:: 22:16:16 ===接受AMQP连接<0.247.0>(127.0.0.1:55372 - > 127.0.0.1:5672)= INFO REPORT == == 2016年2月10日:: 22:16:16 ===接受AMQP连接<0.254.0>(127.0.0.1:55373 - > 127.0.0.1:5672)=错误报告==== 10月2日 - 2016 :: 22:17:14 ===关闭AMQP连接<0.247.0>(127.0.0.1:55372 - > 127.0.0.1:5672):{writer,send_failed,{error,timeout}}
当Celery工作人员重置连接时,就会发生错误 .
我认为这是一个AMQP Heartbeat问题,所以我在我的Celery设置中添加了 BROKER_HEARTBEAT = 15 ,但它没有任何区别 .