作业调度和跟踪库

jobcontrol的Python项目详细描述


作业控制

https://raw.githubusercontent.com/rshk/jobcontrol/develop/.misc/banner.png

作业调度和跟踪库。

为调度、运行、跟踪和 正在检索“作业”的结果。

每个作业定义都是任何可调用的python 要传递给它的参数。

跟踪包括存储: -函数返回值 -任何引发的异常 -任务执行期间生成的日志消息 -如果任务支持,则可以选择“进度”

状态存储与主应用程序完全分离。

“核心”项目目前包括两种存储实现:

  • MemoryStorage–将所有数据保存在内存中,对 开发/测试。
  • PostgreSQLStorage–将所有数据保存在PostgreSQL数据库中, 用于生产。

项目状态

travis ci构建状态

BranchStatus
masterhttps://travis-ci.org/rshk/jobcontrol.svg?branch=master
develophttps://travis-ci.org/rshk/jobcontrol.svg?branch=develop

源代码

源托管在github上:https://github.com/rshk/jobcontrol/

并且可以使用:

git clone https://github.com/rshk/jobcontrol.git

python包索引

这个项目可以在pypi上找到:https://pypi.python.org/pypi/jobcontrol

Latest PyPI versionNumber of PyPI downloadsSupported Python versionsDevelopment StatusLicense

项目文件

文档托管在github页面上:(即将发布!)http://rshk.github.io/jobcontrol/

概念

  • 每个作业都定义为一个要运行的python函数,带有参数 以及关键字。
  • 每个作业都可以依赖于其他作业;依赖关系系统确保 所有依赖项都是在运行给定作业之前生成的,并且 当构建“更高级别”的作业时,将重建这些作业。

示例:

┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐
│         │   │         │   │         │   │         │
│  Job A  │ → │  Job B  │ → │  Job C  │ → │  Job D  │
│         │   │         │   │         │   │         │
└─────────┘   └─────────┘   └─────────┘   └─────────┘

当运行任务C时,需要构建B;这 反过来,需要构建A。如果build_deps=True是 指定后,将触发CB的生成。否则, 生成将以“不满足依赖项”错误终止。

成功生成C后,D不会过时。如果 ^已指定{tt11}$,将生成D。 触发。

其他示例:Job #2依赖于Job #2

job_1

BuildSucc?TimeSkip?
1TRUE1FALSE
2FALSE3FALSE
3TRUE4TRUE
4TRUE5FALSE

job_2

BuildSucc?TimeSkip?
1TRUE2FALSE
No rebuild needed.
No rebuild needed.
2TRUE6FALSE

更改日志

v0.1a

  • 支持作业定义,包括:函数、参数、Kwargs、依赖项
  • 支持跟踪作业运行,包括开始/结束日期、开始/完成/成功 状态和返回值
  • 支持存储作业运行中的日志
  • 内存备份存储(用于状态)
  • PostgreSQL备份存储(用于状态)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSpring/json:转换一个类型化的集合,如List<MyPojo>   允许用户下载使用Javascript API由Java小程序生成的文件   在Java中,有没有一种使用构造函数参数快速分配多个类变量的方法?   java ImageIcon未在Swing中加载   java Selenium将值写入。txt文件   JavaWebSphere7JSF   java JSR303验证组定义一个默认组   java如果构造函数中的参数太多,是否存在性能问题?   java如何检索存储在映射值中的对象?   Java中的字符和字符串输入   java将变量从Scriptlet传递到javascript代码。   2016年1月1日的爪哇Joda时间返回yyyyww,截至201653年   java javafx按代码点击按钮   类包不包括src。主要的java,但它在那里,eclipse对此表示不满   网格上的java等值模式