我有一个 Luigi 管道,其中包含我批量运行的任务图。其中一些任务依赖于昂贵的资源(例如 AWS EC2 机器集群或其他昂贵的资源)。
我正在尝试以resource
一种智能的方式使用它,以便acquire
在运行任务之前使用release
它,并且在所有任务完成后立即使用它。一般来说,昂贵的资源是在管道的开始分配的,并且在依赖图的中途可以很好地释放。
是否有一种有效的方法可以在 Luigi 中对此进行建模,以实现资源的aquire
和release
?
Aquire
用and s对其进行建模Release
luigi.Task
并不是最优的,因为它给我的图增加了很多复杂性和不必要的边。理想情况下,scheduler
它会检查它state
,当没有更多RUNNING
或PENDING
需要资源的任务时,它可以检查release
它。
这是否已经存在,或者我必须自己将此功能添加到 Luigi?