简单可扩展作业提交系统
项目描述
这是什么?
tej是一个易于使用的作业提交系统。它允许你在远程机器上启动脚本或程序,同时跟踪它们的状态和结果。
它是screen(1)会话中运行脚本的理想替代品,例如通过SSH,并且可以轻松集成到许多后端(如PBS)。
它旨在从脚本中轻松使用,无论是批处理还是Python,并且可以在Windows客户端上良好运行。
它做什么?
集群通常附带作业提交和排队系统。这些系统处理作业队列,可能产生多个节点,具有优先级、依赖关系、预期运行时间和截止日期等。
Tej的目标不是做这些。它只是允许你向单个服务器提交作业,并允许你稍后检查其状态并获取结果。默认运行时间简单地提交作业,一旦提交就开始运行;如果服务器上可用PBS,那么tej将使用它来运行作业。
当然,tej是可扩展的,这意味着如果您需要的话,可以添加一些队列和调度功能(通过编写具有更多功能的“运行时”)。
tej的目标是在不事先配置服务器的情况下即可使用;如果需要,它将在首次运行时在服务器上设置所需的架构(其最简单形式是服务器上的~/.tej目录,其中将包含作业)。
tej被VisTrails科学工作流程管理系统用于运行远程作业。VisTrails模块签名映射到tej作业名称,这样如果作业不存在,则可以启动它;如果它在运行,则等待它;当它完成时,简单地检索其结果(来自任何客户端的机器)。
命令行用法
在服务器上设置tej(可选,否则将在首次运行时使用默认选项设置)
$ tej setup user@server.hostna.me \ --queue /scratch/tejqueue \ --make-link ~/.tej \ --runtime default
这需要一个SSH进入的目的地,tej目录的位置(服务器上可以有多个;默认情况下,使用~/.tej),--make-link创建一个链接,使默认的/.tej重定向到/scratch/tejqueue,而--runtime选择在服务器上设置哪个运行时(默认值default立即使用nohup启动提交的作业,pbs将它们交给qsub,……)。
提交一个简单的作业
$ tej submit user@server.hostna.me myjobdir Job submitted as: myjobdir_user_123456
在这里,假设myjobdir具有默认布局,并且没有添加元数据。整个目录将被上传,并且将运行start.sh。
显式提交作业
$ tej submit user@server.hostna.me --queue=/scratch/tejqueue \ --id example_job \ --script bin/jobinit \ myjobdir Job submitted as: example_job
获取作业状态
$ tej status user@server.hostna.me --id myjobdir_user_123456 Job is still running (1:28:57) $ tej status user@server.hostna.me --queue=/scratch/tejqueue \ --id example_job Job is finished (1:30:01) $ tej status user@server.hostna.me --id myjobdir_user_567890 No job 'myjobdir_user_567890'
从完成的作业下载输出
$ tej download user@server.hostna.me --id myjobdir_user_123456 \ output/log.txt $ tej download user@server.hostna.me --id myjobdir_user_123456 \ results.csv view.png input.bin
请注意,文件不需要是输出。文件将下载到当前目录。
终止正在运行的作业
$ tej kill user@server.hostna.me --id example_job Job 'example_job' has already completed $ tej kill user@server.hostna.me --id myjobdir_user_123456 Job 'myjobdir_user_123456' killed $ tej kill user@server.hostna.me --id myjobdir_user_567890 No job 'myjobdir_user_567890'
清理完成的作业
$ tej delete user@server.hostna.me --id example_job Deleted job 'example_job'
名称
“tej”代表“简单可扩展作业提交系统”。
“tej”/tɛʒ/在法语俚语中也是投掷/抛掷的意思。在这里,它被用作动词(“让我将它tej到服务器……”,“它完成了吗?我昨天tej的那个!”)。
可能不是最好的名字,但已经被占用,而且它很简短。
免责声明
请注意,此软件仍然是beta版本。虽然它已经在VisTrails中使用,但它可能仍在演变。请随时告诉我您的意见、用例,或在我的GitHub上向我提出功能请求/补丁。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
tej-0.6.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d19ed81a483514846f15102f8aa9954e6407fe3f17c612be2d9828000554c49b |
|
MD5 | 240737d903c9bfe9a4647a5ad37f35d4 |
|
BLAKE2b-256 | 57187835dd0c7c75874fadab77c5ea557db9fafbc7eaf65a085aedcef568b5ab |
tej-0.6-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 905ca1e35b54eb5bb8c994b1b5cdffe975420c97bb346c49831531512c178ec5 |
|
MD5 | 35e5e7f6c96b06ce524000e0d0992a79 |
|
BLAKE2b-256 | eedae5552cd4fb65a94bbc8425c9c7e472e4c37b9d492b9deb04a877b7331dab |