用于任务执行和依赖关系处理的 Python 框架

标签 python build build-process build-automation jobs

我需要一个允许我执行以下操作的框架:

  • 允许动态定义任务(我将读取外部配置文件并创建任务/作业;task=spawn 例如外部命令)

  • 提供一种指定对现有任务的依赖关系的方法(例如,任务 A 将在任务 B 完成后运行)

  • 如果执行顺序允许(即没有任务相互依赖性),能够在多个进程中并行运行任务

  • 允许一个任务依赖于一些外部事件(不知道如何描述这个,但是有些任务完成后会在一段时间后产生结果,就像后台运行的作业;我需要指定一些依赖于此后台作业完成事件的任务数)

  • 撤消/回滚支持:如果一个任务失败,尝试撤消之前执行的所有内容(我不希望这在任何框架中实现,但我想这值得一问..)

所以,很明显,这看起来或多或少像一个构建系统,但我似乎无法找到允许我动态创建任务的东西,我似乎已经在“生成文件”。

有什么想法吗?

最佳答案

我一直在做更多的研究,我偶然发现了 doit它提供了我需要的核心功能,但又不过分(并不是说 Celery 不能解决这个问题,但这对我的用例来说效果更好)。

关于用于任务执行和依赖关系处理的 Python 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9664809/

相关文章:

python - 根据条件 pandas python 在数据框中删除行

python - Paramiko 更改在版本 2.1 和 2.4 之间使用字符串密码打破了 "connect"-ish

python - 求解 ODE 系统时使用 scipy.integrate.ode 的自适应时间步长

c++ - 使 visual studio 项目可移植,问题

javascript - 使用 Grunt-Replace 替换 HTML 标签

python - 为什么内联 IF 赋值需要 else 语句?

build - OpenDDS 项目的 cmake

c++ - 用于编译 C/C++ 项目的远程基于 linux 的机器的工具

c++ - 在单独的 'build' 目录中使用 autotools build system/Building