Событие request_finished
Событие request_finished относится к сигналам Flask и срабатывает
после того, как обработка запроса завершена и ответ сформирован.
Обработчик получает первым параметром объект sender (приложение),
а вторым - объект response. Сигнал удобно использовать для очистки
ресурсов, логирования или закрытия соединений.
Синтаксис
from flask import request_finished
@request_finished.connect
def handler(sender, response, **extra):
...
Пример
Давайте подключимся к сигналу request_finished и выведем статус ответа:
from flask import Flask, request_finished
app = Flask(__name__)
@request_finished.connect
def on_request_finished(sender, response, **extra):
print('finished with status:', response.status)
@app.route('/')
def index():
return 'hello'
Результат выполнения кода при запросе к адресу /:
"finished with status: 200 OK"
Пример
Давайте отключим обработчик от сигнала с помощью метода disconnect:
from flask import Flask, request_finished
app = Flask(__name__)
def on_request_finished(sender, response, **extra):
print('finished')
request_finished.connect(on_request_finished)
request_finished.disconnect(on_request_finished)
@app.route('/')
def index():
return 'hello'
Результат выполнения кода:
""
Смотрите также
-
событие
request_started,
которое срабатывает перед обработкой запроса -
событие
request_tearing_down,
которое срабатывает при разрушении контекста запроса -
метод
connect,
который подключает обработчик к сигналу -
метод
disconnect,
который отключает обработчик от сигнала