我正在开发对大量对象(duh)进行操作的dispy脚本。
每个对象要执行多个操作-只有一个操作必须首先发生,其余操作使用第一个作业的结果并且可以按任何顺序进行。
cluster = dispy.JobCluster(
getShift,
setup = functools.partial(doLoads, from, to),
cluster_status = processed,
nodes = Nodes
)
我想,最直接的方法是执行两个cluster.submit()
循环-每个对象的第一个作业的第一个循环,以及所有其他对象的第二个循环。
但是,我想在完成每个对象的主要任务后立即开始提交后续作业-无需等待其他所有对象都完成。
什么是正确的方法?特别是,我的processed
回调函数可以将其他作业提交到同一群集吗?
答案 0 :(得分:1)
是的,回调可以提交新作业。例如,参见job_scheduler.py,它以callback
提交作业(尽管cluster_status
也可以用于此目的)。通过以上描述,您似乎可以使用callback
代替cluster_status
。