Крючок выключения для Django с mod_wsgi

У меня есть простой сервер Django, который запускает и управляет некоторыми сервисами в фоновом режиме.

Я хочу остановить эти службы, когда сервер остановится.

Посмотрев в Интернете, я нашел это решение:

signal.signal(signal.SIGINT, _stop_services)

И он отлично работает, когда я запускаю сервер с python manage.py runserver.

Но, когда я запускаю сервер с движком Apache и mod_wsgi и перезапускаю/останавливаю сервер apache, обратный вызов не вызывается.

Я также пробовал использовать SIGTERM и даже модуль atexit, но ни один из них не сработал.

Есть ли в Django какое-либо встроенное решение для этого? Я знаю, что в пакетах типа aiohttp можно добавить слушателя, который будет вызван, когда сервер выключится.

Вернуться на верх