从Python通过ssh提交HPC作业
sshjob的Python项目详细描述
一个基于Python和jupyter笔记本电脑的工作管理系统 远程作业管理系统。在
pyjobs允许在Univa网格引擎上提交/列出/删除/跟踪作业 (UGE)或太阳网格引擎(SGE)。它允许远程执行qsub, qstat,qdel(通过ssh)并在本地显示日志/错误文件 jupyter笔记本(或jupyter实验室)。它也可以使 通过ssh和nohup在其他计算机上执行作业(在 发展)。在
要求
- ssh环境到远程计算机。pyjobs是为运行而设计的 在本地计算机上。ssh连接到远程计算机(例如 ABCI)必须是预先要求的。在
使用
pyjobs被设计为在本地Jupyter笔记本环境下运行。在
在jupyter笔记本上,运行
frompyjobsimport*importsubprocess,jsonjobs=pyjobs()jobs,type(jobs),json.dumps(jobs)
初始化pyjobs的jobs实例。在
jobsinstance用于管理特定远程(或)上的作业 本地)机器。jobs.qsub()jobs.show()jobs.kill()jobs.rm()jobs.bye()
运行作业
^{pr2}$ 在显示作业列表
jobs.show(depth=1,no_update=False)
在{$tt9}稍后将作业分配给
jobs[3059261]=pyjob(jobid="3059261",jobname="s2o.sh",jobfile=`cats2o.sh`)#jobs.dump()
在
–删除最新的作业及其日志
jobs.kill()+jobs.rm()
jobs.bye(-1)
- ssh支持shell
defshellrun(commandline,server,cd,ssh_bash_profile=True,nohup=False)
defrun_via_ssh(commandline,server,cd,ssh_bash_profile=True,nohup=False)
- 当nohup=True时,命令行将是一个shell文件。在
- 项目
标签: