Форум сайта python.su
15
У меня есть некоторый класс , который я хочу запускать в отдельном процессе и в будущем управлять им(стартовать, завершать, перезапускать, получать его статус…).
Есть функция main() в которой прописана логика работы этого класса. Пробую запускать эту функцию через:
from multiprocessing import Process def main(): rne = NotificationExchangerRobot(log_file='ner_log.txt', config_file='ner_config.ini', interval=30) while True: rne.reread_config() remiders_dict = rne.call_nearest_reminders() results = rne.call_add_notification(remiders_dict) rne.call_delivery_result(results, remiders_dict) rne.pause() if __name__ == '__main__': p = Process(target=main) p.start() print(p.pid)
Офлайн
221
а как вы управлять им будете? опишите.
Задача то какая перед вами стоит - запускать отдельным процессом метод класса - а коммуникация с родительским процессом? обмен данными? связи состояний классов? т.е. есть ли взаимосвязи?
а то если все просто то банально вызов типа subprocess.Popen('python -c “import a; a.A().main”')
Простите если ересь предлагаю, я уже почти сплю:)
Офлайн
15
Пока что сделал порождение через subprocess.Popen().
С управлением пока немогу сказать, как буду делать, ибо в целом в проекте архитектура накрученная, и отталкиваться надо от неё.
Офлайн