В вашем файле Gradle разделите идентификаторы групп и артефактов с :
вместо .
. То есть заменить
implementation 'org.nanohttpd.nanohttpd:2.3.1'
на
implementation 'org.nanohttpd:nanohttpd:2.3.1'
p = subprocess.Popen([sys.executable, '/path/to/script.py'],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
, Который запустит подпроцесс в фоне. Ваш сценарий будет обычно продолжать бежать.
Read документация здесь .
подпроцесс. Popen действительно, что Вы ищете.
Хотя, если Вы находите, что хотите начать передавать набор информации между подпроцессом и родителем, можно хотеть рассмотреть поток, или платформе RPC нравится Скрученный.
, Но скорее всего это слишком тяжело для Вашего приложения.
Выполнение этого в очереди сообщений - это определенно правильный путь, если вы думаете о долгосрочном масштабировании. Отправьте сообщение в очередь, которая постоянно работает в фоновом режиме, и напишите обработчики заданий для обработки сообщений разного рода.
Так как вы используете Django, я думаю, Beanstalkd очень хорошо подходит. Вот довольно хороший учебник по этому вопросу. Первый комментарий в этой статье также содержит несколько полезных советов.
Лично я прокрутил свой сервер очередей в памяти, написанный на Erlang, с привязками Python, написанными на C. Но redis выглядит так это может сработать как отличный претендент на будущие потребности в очередях / обмене сообщениями. Надеюсь, это поможет!