Как я запускаю другой скрипт в Python, не ожидая его для окончания? [дубликат]

В вашем файле Gradle разделите идентификаторы групп и артефактов с : вместо .. То есть заменить

implementation 'org.nanohttpd.nanohttpd:2.3.1'

на

implementation 'org.nanohttpd:nanohttpd:2.3.1'
39
задан Paul D. Waite 1 April 2011 в 16:52
поделиться

4 ответа

p = subprocess.Popen([sys.executable, '/path/to/script.py'], 
                                    stdout=subprocess.PIPE, 
                                    stderr=subprocess.STDOUT)

, Который запустит подпроцесс в фоне. Ваш сценарий будет обычно продолжать бежать.

Read документация здесь .

61
ответ дан nosklo 27 November 2019 в 02:34
поделиться

подпроцесс. Popen действительно, что Вы ищете.

3
ответ дан Aaron Maenpaa 27 November 2019 в 02:34
поделиться

Хотя, если Вы находите, что хотите начать передавать набор информации между подпроцессом и родителем, можно хотеть рассмотреть поток, или платформе RPC нравится Скрученный.

, Но скорее всего это слишком тяжело для Вашего приложения.

1
ответ дан Sean Cavanagh 27 November 2019 в 02:34
поделиться

Выполнение этого в очереди сообщений - это определенно правильный путь, если вы думаете о долгосрочном масштабировании. Отправьте сообщение в очередь, которая постоянно работает в фоновом режиме, и напишите обработчики заданий для обработки сообщений разного рода.

Так как вы используете Django, я думаю, Beanstalkd очень хорошо подходит. Вот довольно хороший учебник по этому вопросу. Первый комментарий в этой статье также содержит несколько полезных советов.

Лично я прокрутил свой сервер очередей в памяти, написанный на Erlang, с привязками Python, написанными на C. Но redis выглядит так это может сработать как отличный претендент на будущие потребности в очередях / обмене сообщениями. Надеюсь, это поможет!

6
ответ дан 27 November 2019 в 02:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: