Я занимаюсь разработкой скрипта dispy, работающего с большим количеством объектов (duh).
Для каждого объекта нужно выполнить несколько операций - сначала должна произойти только одна из них, остальное использоватьрезультаты первого задания и могут быть выполнены в любом порядке.
cluster = dispy.JobCluster(
getShift,
setup = functools.partial(doLoads, from, to),
cluster_status = processed,
nodes = Nodes
)
Простой способ, я полагаю, состоит в том, чтобы сделать два цикла из cluster.submit()
- первый цикл для первого задания для каждого объекта ивторой цикл - для всех остальных.
Однако я хотел бы начать отправку последующих заданий, как только основное задание будет завершено для каждого объекта - не дожидаясь его выполнения для всехдругие объекты.
Какой правильный способ сделать это?В частности, может ли моя функция обратного вызова processed
отправлять дополнительные задания в тот же кластер?