Не рекомендуется, чтобы ваши пользователи ждали запрос в течение 70 секунд на любой платформе. Heroku просто применяет эту лучшую практику, применяя 30-секундный тайм-аут. Поэтому реальный вопрос заключается в том, как лучше спроектировать приложение.
В Heroku есть статья о внедрении фоновых рабочих, которая предназначена для решения этой самой проблемы: https://devcenter.heroku.com/articles/queueing
Основной подход заключается в том, чтобы веб-запрос планировал фоновое задание (используя «Задержка задания», «Классическая очередь», «Возврат» и т. Д.) И немедленно отвечал пользователю некоторым индикатором прогресса. Затем динам, работающий в фоновом режиме, выполняет тяжелую работу по сохранению информации в БД. Когда это сделано, он устанавливает какой-либо флаг в базе данных или другом механизме хранения, который уведомляет веб-клиента о том, что задание завершено.
Для запуска фонового работника требуется еще один dyno. Если вы хотите избежать этих расходов, вы можете заглянуть в Girl Friday , о которой многие сообщают об успехе.
Надеюсь, это поможет.