Крючок выключения для Django с mod_wsgi
У меня есть простой сервер Django, который запускает и управляет некоторыми сервисами в фоновом режиме.
Я хочу остановить эти службы, когда сервер остановится.
Посмотрев в Интернете, я нашел это решение:
signal.signal(signal.SIGINT, _stop_services)
И он отлично работает, когда я запускаю сервер с python manage.py runserver
.
Но, когда я запускаю сервер с движком Apache
и mod_wsgi
и перезапускаю/останавливаю сервер apache, обратный вызов не вызывается.
Я также пробовал использовать SIGTERM
и даже модуль atexit
, но ни один из них не сработал.
Есть ли в Django
какое-либо встроенное решение для этого? Я знаю, что в пакетах типа aiohttp
можно добавить слушателя, который будет вызван, когда сервер выключится.