Суть приложения - отдаёт пользователю сгенерированную картинку по запросу. Генерация картинки занимает несколько секунд и использует видеокарту. При одновременных запросах видеокарта нагружается генерацией сразу нескольких картинок и функция выдаёт ошибку.
Требуется сделать так, чтобы одновременно генерировалось не большой одной картинки.
В простом телеграм боте на Telebot решил это путём организации очереди запросов. Все запросы помещались в очередь, после чего выполнялись последовательно и по готовности отправлялись пользователям. В Flask затрудняюсь реализовать подобное, так как из-за хитрых контекстов запроса просто помещать переменные request в глобально объявленную очередь не выходит.
@app.route("/url")
def fun():
request_info = request.args.get("info")
# ВОТ ТУТ ПОДОЖДАТЬ КОГДА ВСЕ ДРУГИЕ ЗАПРОСЫ ВЫПОЛНЯТСЯ
image = long_time_fun_image_generator(request_info)
return make_response(data = image)