Я пытаюсь создать планировщик заданий в Python. Планировщик (то есть родительский сценарий) будет затем запускать дочерние сценарии (также в Python).
Кажется, лучший способ сделать это - через подпроцесс, который апеллирует, поскольку я хочу иметь возможность отменить / тайм-аутрассматриваемый процесс / скрипт, если он выполняется слишком долго.
Сценарий, который я пытаюсь запустить, принимает аргумент. Критически, он также возвращает объект (на который я затем хочу сослаться в родительском скрипте после завершения дочернего задания).
Я могу успешно передать аргумент в дочерний скрипт и выполнитьЭто. Однако я не уверен, как получить объект, который «возвращает» дочерний скрипт. Поэтому, если, например, мой дочерний скрипт был разработан для возврата словаря, я бы хотел сослаться на данные в этом словаре в моем родительском скрипте.
Очевидно, если это нужно сделать другим способомтогда это нормально, но очень важно, чтобы я мог завершить процесс и передать аргументы любым дочерним сценариям.
Пример кода:
import subprocess
my_timeout_in_seconds = 60
job_data = subprocess.run([sys.executable, path_to_my_script, argument_to_pass],
shell=False, timeout=my_timeout_in_seconds)