使用luigi、远程作业提交、远程目标和环境构建大规模任务工作流
law的Python项目详细描述
注意:此项目目前正在开发中。版本0.1.0将是第一个完整记录的alpha版本。
利用法律构建复杂、大规模的任务工作流。它构建在luigi之上,并为run locations、storage locations和software environments添加抽象。法律严格地将这些组成部分分离开来,并确保它们保持可互换性和资源机会主义。
主要功能:
- 具有自动完成、交互状态和依赖项检查的cli。
- 具有自动重试和本地缓存的远程目标
- webdav,http,dropbox,sftp,所有wlcg协议(srm,xrootd,rfio,dcap,gsiftp,…)
- 从任务内自动提交到批处理系统
- htcondor、lsf、glite、arc
-
DAT>环境沙箱,可配置在任务级别
- Docker,奇点,子壳
第一步
示例
- loremipsum:法律的hello world。
- workflows:法律工作流程。
- dropbox_targets:处理存储在dropbox上的目标。
- wlcg_targets:处理存储在wlcg存储元素(dcache,eos,…)上的目标。托多。
- htcondor_at_vispa:位于VISPA service的htcondor工作流。
- htcondor_at_cern:cern批处理基础设施中的htcondor工作流。
- grid_at_cern:运行作业并在wlcg上存储数据的工作流。
- lsf_at_cern:cern批处理基础结构中的lsf工作流。
- docker_sandboxes:使用DOCKER的环境沙箱。托多。
- ^ a23 }:利用奇异性进行环境沙箱。托多。
- subshell_sandboxes:使用子壳的环境沙箱。托多。
- parallel_optimization:使用scikit optimize进行并行优化。
- notifications:演示松弛和电报任务状态通知..
- CMS Single Top Analysis:利用定律进行简单的物理分析。
在命令行上自动完成
猛击
source"$( law completion )"
zsh
zsh能够通过bashcompinit加载和计算bash完成脚本。为了使bashcompinit工作,您应该运行compinstall以启用完成脚本:
autoload -Uz compinstall && compinstall
按照说明操作后,这些行应该出现在~/.zshrc:
# The following lines were added by compinstall zstyle :compinstall filename '~/.zshrc' autoload -Uz compinit compinit # End of lines added by compinstall
如果是这样的话,只要获得law completion脚本(它在内部启用bashcompinit)就可以了:
source"$( law completion )"
开发
- 源托管在GitHub
- 在GitHub Issues上报告问题、问题和功能请求