Приложение, которое я разрабатываю, подразумевает, что пользователь может заполнить всю базу данных, импортировав CSV-файл со строками определенной таблицы.Эта операция может занять несколько секунд, и я сталкиваюсь с проблемой тайм-аута 30 с.
Я видел интересное решение во Flask, использующее функцию python "yield" https://librenepal.com/article/flask-and-heroku-timeout/, которую я не могу воспроизвести без использованияКолба.Я в основном сделал то же самое, и я возвращаю следующее:
return HttpResponse(generateResponse(), content_type="text/html")
где genereateReponse:
def generateResponse():
for i in range(10):
time.sleep(10)
print(i)
yield(i)
Этот подход пытается сохранить соединение живым, но, как я уже сказал, это не такне работает.
Я также пытался отправлять POST-запросы от внешнего интерфейса на сервер в Javascript, чтобы прочитать файл, в котором указано текущее состояние операции (почти как своего рода индикатор выполнения), создав таким образом созданиеотдельный интерфейс связи -> backend и наоборот, но он, похоже, не поддерживает увеличение времени ожидания, как ожидалось.
Я также читал о выполнении фоновых операций в Heroku, но, вероятно, я не так поступаюэто.
Что бы вы порекомендовали мне сделать?или как я могу увеличить время ожидания 30 секунд?