【问题标题】:Running processes (mainly python) over several machines在多台机器上运行进程(主要是 python)
【发布时间】:2016-04-14 14:31:29
【问题描述】:

我希望能够在通过本地网络连接的不同机器上运行多个通常很长的进程。 进程通常是 python 脚本。

也就是说,假设我有 100 个进程和 5 台机器,并且我不想在每台机器上同时运行超过 10 个进程。 然后,我的“组织者脚本”将在每台机器上启动 10 个进程,然后在第一个进程结束时发送下一个进程。

有没有办法在 python 中做到这一点? 任何建议将不胜感激!

谢谢!

【问题讨论】:

  • 听起来你需要 Spark :) spark.apache.org
  • 使用 Erlang =)。 AFAIK 没有简单的方法可以将 Python 线程程序分发到多个线程上。
  • 您需要一些队列处理系统。您可以在扭曲的twistedmatrix.com/trac 中编写您的组织者脚本,并在其他机器中编写“workers”,这些机器将接收组织者的命令以启动一个新进程,并且这些工作者也将拥有关于“slave”机器中正在运行的进程的信息

标签: python multithreading parallel-processing job-scheduling


【解决方案1】:

除了您的“组织者脚本”之外,您还需要在其他每台机器上安装一些程序/脚本,这些程序/脚本在网络上侦听来自“组织者脚本”的命令,启动“工人”并在“工人”时报告"已经结束了。

但您的任务有现有的解决方案。在开始编码之前仔细看看。

【讨论】:

  • 感谢大家的及时回复!这些现有的解决方案呢?你能提几个吗?
  • 抱歉,我现在手头没有任何东西。但这项任务并不少见。
猜你喜欢
  • 1970-01-01
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
  • 2012-05-28
相关资源
最近更新 更多