gpt4 book ai didi

用于作业调度的 Python 库,ssh

转载 作者:太空狗 更新时间:2023-10-29 21:41:03 27 4
gpt4 key购买 nike

我想找到一个用户空间工具(最好是在 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 库,比如 classhPuSSH ,它没有我想要的(非常简单的)负载平衡功能。在我想要的另一面是 Condor 或 Slurm,正如 crismares 在我澄清我想要更轻的东西之前所建议的那样。那些会以正确的方式做事,但从阅读它们来看,它们听起来像是仅在我需要它们时才在用户空间中旋转它们,这很烦人甚至不可能。这不是专用集群,我在这些主机上没有根访问权限。

我目前计划在 classh 周围使用一个包装器,在我找不到其他东西的情况下,每当我需要知道它们有多忙时,对计算机进行一些基本的轮询。

最佳答案

fabric ,我很惊讶没有人没有提到它。

关于用于作业调度的 Python 库,ssh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5636458/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com