Как заполнить базу данных со стороны клиента в Heroku - PullRequest
0 голосов
/ 01 декабря 2018

Приложение, которое я разрабатываю, подразумевает, что пользователь может заполнить всю базу данных, импортировав 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 секунд?

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