我不知道关闭事件,但是您可以创建一个。
当用户按下Ctrl-C时,SIGINT信号将发送到Python进程。从
wsgi.py文件中设置信号处理程序以捕获SIGINT并将其转发到程序。
wsgi.py:
...import signalsignal.signal(signal.SIGINT, my_signal_handler)
您甚至可以将信号转发到Django信号:
my_django_shutdown_signal = django.dispatch.Signal()def _forward_to_django_shutdown_signal(signal, frame): my_django_shutdown_signal.send('system') sys.exit(0) # So runserver does try to exitsignal.signal(signal.SIGINT, _forward_to_django_shutdown_signal)由于
signal只能从主线程调用,因此不适用于runserver。使用该
--noreload选项调用runserver ,或切换到gunicorn。



