Вы не дали много, чтобы узнать, как определить, завершена ли работа, но общий способ решения этой проблемы - заставить рабочие места создавать файл дозорного, который вы можете искать, что-то вроде COMPLETE
.
Для этого вы просто добавляете что-то вроде
# At the end of stage 1,
job_num = 1234
open('/shared/file/system/or/server/JOB_{job_num}/COMPLETE', 'x').close()
А затем вы просто время от времени проводите опрос, чтобы убедиться, что у вас есть файл COMPLETE
для всех заданий перед началом этапа 2.