【发布时间】:2018-01-31 13:18:53
【问题描述】:
我们有多台机器作为“服务器”运行。在他们身上,他们有一个程序来监听来自不同客户的请求。
在持续部署过程的一部分中,更新服务器程序可能会导致未完成的业务被终止。这是不可取的。我正在寻找一种方法来从一个节点排出工作,以便我们可以在另一个节点获得负载时更新它。
至于代表我当前心态的更具体的问题:
你如何发送“信号”所以:
while True and no_signal:
do_server_work()
如果我们需要升级它就停止。
对于我们的基础架构,我们有许多客户端向多个 RabbitMQ 节点发送请求,服务器会在这些节点中使用它们的队列。
编辑:在 linux 上,使用 python3
【问题讨论】:
-
谁在编写这个程序?你被允许并且有能力改进它吗?
-
是的,我可以做任何需要的事情。
-
您正在就一个非常具体的问题提出一个非常抽象的问题。您能否添加澄清细节或限制,以便我们指导您找到答案?例如,RabbitMQ 被标记,并具有“取消消费者”功能,但不清楚这对您有什么帮助,甚至是否有帮助。
-
嗯,它之所以抽象是有原因的。我正在寻找不同的方法。取消消费者是我从 RabbitMQ 不知道的。这可能是一个很好的答案。我不需要实际的代码。
标签: linux python-3.x server rabbitmq continuous-deployment