用于作业调度的Python库ssh

| 我想找到一个用户空间工具(最好是在Python中-禁止该工具,如果它还没有满足我的需要,我可以很容易地对其进行修改)以替换一个我曾经使用过的简短脚本使用该功能可以完成以下两件事: 轮询少于100台计算机(Fedora 13,确实如此)以获取负载,可用内存,以及是否有人正在使用它们 为作业选择好的主机,并通过ssh运行这些作业。这些作业是任意命令行程序的执行,这些程序读取和写入共享文件系统-通常是图像处理脚本或类似文件-CPU,有时是占用大量内存的任务。 例如,使用当前脚本,我可以在python提示符下
>>> import hosts
>>> hosts.run_commands([\'users\']*5)
或从命令行
% hosts.py \"users\" \"users\" \"users\" \"users\" \"users\"
来运行命令
users
5次(通过从配置文件中检查至少5台计算机上的cpu负载和可用内存,找到5台可以在其上运行命令的计算机之后)。除了我刚运行的脚本之外,应该没有作业服务器,并且在运行这些命令的计算机上也没有辅助守护程序或进程。 我还希望能够跟踪作业,在出现故障时再次运行作业等,但是这些是我实际上不需要的额外功能(在实际的作业计划程序中非常标准)。 我已经找到了适用于Python的很好的ssh库,例如classh和PuSSH,它们没有我想要的(非常简单的)负载平衡功能。我想要的另一面是Condor或Slurm,如crispamares所建议,在我澄清我想要更轻的东西之前。这些将以正确的方式进行操作,但是通过阅读有关它们的信息,听起来好像只有在我需要它们时才将它们在用户空间中旋转会令人讨厌甚至无法实现。这不是专用的群集,我在这些主机上没有root访问权限。 我目前正计划在classh周围使用包装器,对计算机进行一些基本的轮询,只要我无法找到其他东西就需要知道它们有多忙。     
已邀请:
有面料,我很惊讶没有人提到它。     
Slurm是功能强大的作业计划程序,可以使用PySlurm在Python中进行编程。 我不知道是否比Condor难部署。另外我也不知道它是否适合您的所有需求,但以防万一,请写下来。     
您可以修改buildbot并扭曲吗?这似乎是一个不错的方法。     
看看func。我没有在“ Hello,world \”级别使用过它,但我认为它非常适合您。     
我可能会晚一点:我想在这里推荐python saga。     
我可能迟到了这个问题,但最近遇到了相同的问题,我正在寻找一个C / C +库,可以在其中执行作业调度和服务器负载平衡,以处理服务器群集上的图像文件。我将从GUI调用库并监视作业的状态。 我安装了slurm并尝试了命令,但是将其用作工具和可能的库似乎相当困难。其他选项似乎提供了作业调度,但没有基于cpu利用率的负载平衡。我将不胜感激任何建议。 最好的祝福     

要回复问题请先登录注册