Я хотел бы иметь простой python веб-сервер, который можно запускать для запуска скриптов. Таким образом, у меня есть работающий HttpServer, веб-сайт и кнопка, которая может сделать вызов. Я хочу запустить скрипт отдельно от процесса HTTPServer. Так же известен asyn c.
. Я попробовал вариант с os.system(command)
, но он использует тот же поток. Так пробовал с subprocess.run([command,path])
и subprocess.check_call
но все пишет в один и тот же поток похоже. (Может ли Windows быть проблемой здесь?)
Затем попытался поместить действие в поток с помощью _thread.start_new_thread
и threading.Thread(target=class.static_method, args=args )
, но поток, кажется, запускается правильно (путем проверки отладки), но сценарий, похоже, не
После создания тестового сценария с тем же действием subprocess.run
работает хорошо. Итак, как мне запустить отдельный или отдельный процесс в HttpServer?
Некоторые попытки:
with open(f"{log_folder}run{counter}.log","w+") as logfile:
subprocess.check_call(command, stdout=logfile)
В действии на HTTPServer:
t1 = threading.Thread(target=Controller.run_script, args=args )
t1.start()
Пробовал без вывод (который работал в тестовом сценарии, но не через процесс de HttpServer)
subprocess.check_call(command, stdout=subprocess.DEVNULL)
Dev env: Windows Python: 3.8