Создайте и подайте файл с колбой - PullRequest
0 голосов
/ 19 апреля 2019

Итак, у меня есть скрипт run_queries (), который запускает некоторые SQL-запросы и записывает их в XML-файл в каталоге merge_files.

Я хочу создать простое приложение-колбу для запуска этой задачи run_quries (), а затем, после ее завершения, загрузить самый последний XML-файл.

Этот код у меня отлично работает в первый раз, когда я его запускаю, однако похоже, что колба или мой браузер выполняет некоторое кеширование. Поскольку после первого запуска он даже не запускает этот код, он просто мгновенно возвращается и всегда возвращает один и тот же файл.

Как я могу это исправить

@app.route('/get_analytics')
def get_analytics():
    run_query()
    list_of_files = glob.glob('./merge_files/*')
    latest_file = max(list_of_files, key=os.path.getctime)
    response = send_file(latest_file, as_attachment=True,
                         attachment_filename=latest_file)
    response.headers["x-filename"] = latest_file
    response.headers["Access-Control-Expose-Headers"] = 'x-filename'
    return response

1 Ответ

1 голос
/ 19 апреля 2019

Flask send_file принимает параметр cache_timeout, который можно установить на -1, чтобы отключить кэш.В качестве альтернативы вы можете указать тайм-аут кэша в конфигурации, используя параметр SEND_FILE_MAX_AGE_DEFAULT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...