У меня есть дочерний скрипт на python, который принимает аргумент и занимает ок. 8 минут до запуска.
e.g. python.exe child.py "2018-01-01"
Мне нужно много раз выполнить этот скрипт из основного скрипта. Я рассматриваю возможность использования subprocess.Popen
.
import os, sys, time, subprocess
for date in ["2018-01-01", "2018-01-02", "2018-01-03", ..., "2018-12-31"]
p = subprocess.Popen(['python.exe', "child.py", date])
time.sleep(600)
Поскольку функция Popen
не знает, когда завершается выполнение дочернего сценария, она просто продолжает вызывать дочерний сценарий с аргументом. Поэтому мне нужно было установить 600 секунд времени ожидания (дольше, чем приблизительное время выполнения дочернего сценария), чтобы последующий запуск благополучно начинался после завершения предыдущего запуска.
Интересно, есть ли более эффективныйспособ справиться с этой ситуацией.