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

Unk*_*own 11 python build-automation jobs build-process build

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

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

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

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

  • 允许任务依赖于某些外部事件(不知道如何描述这一点,但是一些任务完成并且它们将在一段时间后产生结果,如后台运行的作业;我需要指定一些要依赖的任务这个后台工作完成的活动)

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

所以,显然,这看起来或多或少像构建系统,但我似乎无法找到允许我动态创建任务的东西,大多数事情我似乎已经在"Makefile"中定义了它们.

有任何想法吗?

Unk*_*own 7

我一直在做更多的研究,我偶然发现了doit,它提供了我需要的核心功能,而不是过度杀戮(不是说Celery不会解决这个问题,但这对我的用例更好) .