我为一些需要在我的工作场所执行的任务部署芹菜。这些任务是巨大的,我买了一些高规格的机器来执行这些。在详细说明我的问题之前,让我简要介绍一下我已经部署的内容:
现在,当我开始时,整个过程就像我测试的那样顺利,所有过程都很棒!
问题
不幸的是,我忘了咨询我的网络人员有关固定IP地址的信息,根据我们的位置,我们的ISP没有固定的IP地址。所以我的芹菜工人在网络上断开连接并且什么也不做。即使网络正在运行,因为IP地址已更改,并且未重新创建与代理的连接或工作程序未重试连接。我尝试过像BROKER_CONNECTION_MAX_RETRIES = 0
和BROKER_HEARTBEAT = 10
这样的配置。但我别无选择,只能在这里发布,并就此问题寻找专家!
PS:每当网络通过kill -9
更改IP地址时,我无法手动重启工作人员
答案 0 :(得分:0)
使用以下方式重新启动应用程序:
sudo rabbitmqctl stop_app
sudo rabbitmqctl start_app
为我解决了这个问题。 此外,由于我有虚拟主机设置,我也需要重置。 不确定为什么需要这样做。或者事实上,上述任何一项都是必需的,但它确实为我解决了这个问题。
答案 1 :(得分:0)
问题是因为我无法理解AMQP协议或RabbitMQ的本质。
当芹菜工作者启动时,它将在RabbitMQ打开一个频道。任何网络更改后,此通道都会尝试重新连接,但是先前为该通道打开的端口/袜子已注册到客户端的其他公共IP地址。这样,由于客户端已更改地址,芹菜工作者(客户端)与RabbitMQ(服务器)之间的协商无法恢复,因此,如果客户端的公共IP地址发生更改,则需要建立新的通道。
上面@qreOct的回答是由于我无法正确表达问题或由于我们的看法不同。仍然非常感谢您抽出宝贵的时间!