0

我正在开发一个在大量对象上运行的 dispy 脚本(duh)。

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

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

我想,最直接的方法是做两个循环cluster.submit()——第一个循环用于每个对象的第一个作业,第二个循环——用于所有其他对象。

但是,我想在每个对象的主要作业完成后立即开始提交后续作业——而不是等待所有其他对象完成。

这样做的正确方法是什么?特别是,我的processed回调函数可以向同一个集群提交额外的作业吗?

4

1 回答 1

1

是的,回调可以提交新的工作。例如,请参见job_scheduler.py,它提交作业callback(尽管cluster_status也可用于此目的)。从上面的描述来看,您似乎可以使用callback而不是cluster_status.

于 2018-09-08T02:43:04.207 回答