代码之家  ›  专栏  ›  技术社区  ›  gabrown86

使用python在多个服务器上分发作业

  •  -1
  • gabrown86  · 技术社区  · 10 年前

    我目前有一个可执行文件,在运行时使用服务器上的所有内核。我想添加另一台服务器,并在两台机器之间分配作业,但每个作业仍然使用其正在运行的机器上的所有核心。如果两台机器都忙,我需要下一个作业排队,直到两台机器中的一台空闲。

    我以为这可能是由python控制的,但我是一个新手,不确定哪个python包最适合这个问题。

    我喜欢用于作业排队的“heapq”包,但它看起来是为单个服务器使用而设计的。然后我研究了Ipython.parallel,但它似乎更适合为每个核心(在一个或多个服务器上)创建一个单独的小作业。

    我在这里看到了大量不同的选项( https://wiki.python.org/moin/ParallelProcessing )但我需要一些指导来解决这样的问题。

    有人能提出一个可能有助于解决这个问题的方案,或是一种不同的解决方法吗?

    1 回复  |  直到 10 年前
        1
  •  3
  •   Hugh Bothwell    10 年前

    Celery 执行您想要的操作-使任务队列轻松地分布在多台(多台)机器上。

    看见 the Celery tutorial 开始。

    或者,IPython基于ZeroMQ内置了自己的多处理库;看见 the introduction 。我以前没有用过这个,但看起来很直接。