У меня есть сайт Flask, который использует Highcharts. Существует таймер javascript, который запускает и отправляет ajax-запрос на сервер каждые несколько минут, чтобы получить данные за последние несколько минут и обновить диаграмму.
У меня также есть настройка сайта для истечения сеанса после 30 минут бездействия с использованием этого кода:
@app.before_request
def make_session_permanent():
session.permanent = True
app.permanent_session_lifetime = timedelta(minutes=30)
session.modified = True
Однако, поскольку вызов ajax выполняется каждые несколько минут, Flask будет постоянно обновлять время сеанса и, следовательно, время сеанса никогда не будет превышено.
Я хочу, чтобы Flask не обновлял время сеанса при выполнении вызова ajax. Я пытался сделать что-то вроде этого, но это не похоже на работу:
@app.before_request
def make_session_permanent():
if not re.match("^/api/", request.path):
session.permanent = True
app.permanent_session_lifetime = timedelta(minutes=30)
session.modified = True
... где данные диаграммы поступают из любой конечной точки, начиная с /api/.
Я также установил:
app.config.update(
SESSION_REFRESH_EACH_REQUEST = False
)