Я получил пользовательскую команду в своем допускающем повторное использование django приложении, которое я хочу начать daemonized сервис и затем возвратить, оставляя сервисное выполнение.
Я реализовал свой сервис как простой класс с начинать-методом. Когда запуск называют, он работает в вечном цикле, спящем в течение 10 секунд, затем с помощью django orm для проверки базы данных, настроенной в проекты settings.py файл, проверки на записи в данной папке.
Я хочу смочь к:
./manage.py startservice
какие удары моего обслуживания и возвратов. Затем в той же оболочке:
./manage.py runserver
и начните добавлять записи в определенной таблице базы данных, которые в течение 5 секунд взяты сервисом, работающим в фоновом режиме, и обработаны.
Я посмотрел на сельдерей для более основанного на очереди сообщений подхода, но он полагается на слишком большое количество другого материала. Важно, чтобы все это следовало за допускающим повторное использование шаблоном приложения django.
Какие-либо подсказки или мысли?
Почему вы хотите запускать службу как отдельный процесс?
Запускать в потоке в том же процессе, что и сервер выполнения.
У меня есть библиотека django-initd
, чтобы справиться с этим: см. проект на GitHub .
Django фактически включает в себя утилиту для демонизации процесса, в django.utils.daemonize
моя библиотека отвечает за запуск / завершение работы, ведение журнала и взаимодействие с командой управления. Мне было бы интересно узнать, будет ли это полезно для вас.