cluster_status回调可以提交新作业吗?

时间:2018-09-07 19:54:20

标签: python dispy

我正在开发对大量对象(duh)进行操作的dispy脚本。

每个对象要执行多个操作-只有一个操作必须首先发生,其余操作使用第一个作业的结果并且可以按任何顺序进行。

cluster = dispy.JobCluster(
    getShift,
    setup = functools.partial(doLoads, from, to),
    cluster_status = processed,
    nodes = Nodes
)

我想,最直接的方法是执行两个cluster.submit()循环-每个对象的第一个作业的第一个循环,以及所有其他对象的第二个循环。

但是,我想在完成每个对象的主要任务后立即开始提交后续作业-无需等待其他所有对象都完成。

什么是正确的方法?特别是,我的processed回调函数可以将其他作业提交到同一群集吗?

1 个答案:

答案 0 :(得分:1)

是的,回调可以提交新作业。例如,参见job_scheduler.py,它以callback提交作业(尽管cluster_status也可以用于此目的)。通过以上描述,您似乎可以使用callback代替cluster_status