Я использую Django 1.3 с mod_wsgi
В моем settings.py
DISABLE_SYSTEM = False
DISABLE_USER_INTERFACE = False
MIDDLEWARE_CLASSES = [
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
]
if DISABLE_SYSTEM:
MIDDLEWARE_CLASSES.insert(0, 'SomeMiddleware')
if DISABLE_USER_INTERFACE:
MIDDLEWARE_CLASSES.append('SomeOtherMiddleware')
Когда я устанавливаю DISABLE_SYSTEM
в True
, SomeMiddleware
process_request
возвращает предупреждающее сообщение с HttpResponse
, а следующие Middewares не запускаются вообще.Это дает мне своего рода отключение системы для обслуживания
DISABLE_USER_INTERFACE
, фильтры request
, и любая функция просмотра, вызываемая пользователем, блокируется, в то время как admin
URL-адреса и функции управления работают нормально.
До сих пор я использовал это для обслуживания различных типов, и я просто изменил его из файла и коснулся wsgi , чтобы перезагрузить модули Python.Но теперь мне нужно использовать своего рода запланированную подпрограмму для остановки пользовательских запросов и выполнения некоторого обслуживания в фоновом режиме, а некоторые - от администратора.
На данный момент, я система (но непользователь) должен установить DISABLE_USER_INTERFACE
на True
с settings.py
и начать обслуживание.Но я не мог найти способ сделать это Porper или лучший способ справиться с этим не с settings.py
, а где-то еще.
Строки в settings py
, чем изменения DISABLE_USER_INTERFACE
, потому что мне нужно использовать эту функциюодин раз в день и использование этих двух промежуточных программ для каждого запроса мне не кажется логичным.Так что в моей текущей модели они запускаются только тогда, когда они необходимы для запуска
Любые предложения будут оценены.
ОБНОВЛЕНИЕ: Я хочу отключить пользователяинтерфейс в течение 19:00 - 19:30 каждый день.Я не уверен насчет проверки уровня промежуточного программного обеспечения, например:
if 19:00<now()<19:30:
stop system
для каждого запроса.Мне нужно что-то более эффективное, чтобы избежать ненужных процессов.Или промежуточное ПО - правильный выбор для такого рода работ?