欢迎光临散文网 会员登陆 & 注册

【SSH】本地ssh管理工具,SmartSLURM-v2.0

2023-04-01 20:39 作者:潘多拉茶壶  | 我要投稿

项目地址:https://github.com/CHanzyLazer/SmartSLURM

更新介绍

关于SmartSLURM的基本介绍可以参考我写的这篇文章,这里只介绍更新的内容。

支持保存到文件以及从文件中加载

ServerSSH和ServerSLURM支持使用save和load来将实例保存到文件以及从文件加载实例:

这样对于超长时间的任务,可以在本体提交完成任务后,将SLURM端保存到文件,等到需要的时候再从文件中读取,然后检测任务完成的情况。这里可以这样做:

注意,对于SLURM,不建议直接使用save来保存实例,类似这样:

因为这样会在内存中存在两个SLURM的实例,拥有相同的任务队列(如果在保存的时候存在任务队列),因此会出现重复提交任务的问题,并且程序无法检测到。

使用setMirror来保存则不会有这个问题,如果同样使用:

程序会检测到镜像对应的实例发生了变化,旧的实例会自动销毁,同时提示你可能出现了重复提交,要求你在加载时先手动销毁旧的实例。因此正确的写法应该是这样:

支持捆绑任务提交和ssh操作

对于大部分ServerSSH提供的操作,例如文件上传下载,提交指令等等,都支持增加“task_”前缀来获得对应的Task对象来延迟这个操作(类似C++中的仿函数思路):

而后在submitSrun等操作中,可以将这些Task对象附加上去,从而在执行指令之前以及执行完成后自动分别执行这些task:

多个 task 可以通过 `mergeTask` 来合并:

详细的各种接口的介绍可以去项目的README中查看:https://github.com/CHanzyLazer/SmartSLURM

或者有能力也可以直接看源码。

下载

从 github 项目中下载:https://github.com/CHanzyLazer/SmartSLURM

或者直接下载:https://github.com/CHanzyLazer/SmartSLURM/releases/download/v2.0/smartSlurm.jar

【SSH】本地ssh管理工具,SmartSLURM-v2.0的评论 (共 条)

分享到微博请遵守国家法律