同时运行Python ZMQ Worker

时间:2018-07-04 12:21:44

标签: python zeromq distributed-computing pyzmq

在Python和分布式系统中,我是一个新手。 我正在使用ZeroMQ Venitlator-Worker-Sink配置: Ventilator - Worker - Sink

目前一切都很好,我的问题是,我需要很多工人。每个工人都在做同样的工作。 目前,每个工作人员都在自己的Python文件中工作,并拥有自己的Output-Console。 如果我更改了程序,则必须更改(或复制)每个文件中的代码。 下一个问题是我必须启动/运行每个文件,因此启动12个文件非常烦人。 最好的解决方案是什么?线程,进程? 我不得不说,目标是让每个工人都在不同的树莓派上工作。

1 个答案:

答案 0 :(得分:0)

这似乎更多是开发/运营问题。您在多台分布式计算机或实例上拥有您的工作程序代码(可能是单个代码库)。您对该代码库进行了更改,需要将生成的代码分发到每个实例,然后重新启动该过程。

首先,您至少应使用源代码控制系统,如Git。使用这样的系统,您至少可以转到每个实例并拉出最新的提交并重新启动。除此之外,您还可以设置Ansible这样的系统,以在通过单个命令启动的每个实例上运行这些操作。

还有很多其他工具,策略和服务,可以帮助您以多种不同的方式完成这些工作。使用Docker创建单个工作容器,然后在各种实例上分发并运行该容器,这可能是您追求的最受欢迎的方法之一,但它需要对基础架构进行更根本的更改。

希望这会有所帮助。