Событие app_reset
Событие app_reset применяется к приложению Bottle
и позволяет зарегистрировать функцию-обработчик, которая
будет вызвана при сбросе состояния приложения. Сброс
происходит при вызове метода reset, а также
автоматически при установке нового обработчика ошибок
через метод error. Событие удобно использовать
для очистки кэша, пересоздания ресурсов или сброса
пользовательских настроек.
Синтаксис
@app.app_reset
def handler():
pass
Пример
Давайте зарегистрируем обработчик события app_reset
и вызовем сброс приложения через метод reset:
from bottle import Bottle
app = Bottle()
@app.app_reset
def on_reset():
print('app was reset')
app.reset()
Результат выполнения кода:
"app was reset"
Пример
Давайте используем событие app_reset для очистки
пользовательского кэша при сбросе приложения:
from bottle import Bottle
app = Bottle()
cache = {'user': 'abcde'}
@app.app_reset
def clear_cache():
cache.clear()
app.reset()
print(cache)
Результат выполнения кода:
{}
Пример
Событие app_reset срабатывает автоматически
при установке нового обработчика ошибок через метод
error. Давайте убедимся в этом:
from bottle import Bottle
app = Bottle()
@app.app_reset
def on_reset():
print('reset triggered')
@app.error(404)
def not_found(error):
return 'not found'
Результат выполнения кода:
"reset triggered"
Смотрите также
-
метод
reset,
который сбрасывает состояние приложения -
метод
error,
который устанавливает обработчик ошибок -
событие
before_request,
которое срабатывает перед обработкой запроса -
событие
after_request,
которое срабатывает после обработки запроса