首页 > 解决方案 > 同时运行 Python ZMQ Workers

问题描述

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

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

标签: pythonzeromqdistributed-computingpyzmq

解决方案


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

首先,您应该至少使用源代码控制系统,例如 Git。使用这样的系统,您至少可以访问每个实例并提取最近的提交并重新启动。除此之外,您可以设置一个像 Ansible 这样的系统,以便在从单个命令启动的每个实例上运行这些操作。

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

希望这可以帮助。


推荐阅读