Есть ли у кого-нибудь примеры запуска файлового потока перед процессом рендеринга / построения при использовании Prawn?
Ситуация такова, что у меня есть отчет из 350 или около того страниц, который занимает около 60 секунд для запуска на моей собственной рабочей станции, но при переводе его в рабочий режим (EC2) время запуска отчета увеличивается более чем на 300 секунд, и когда он заканчивает, не отправляет PDF в браузер.
Даже 60 секунд - это долгое время без обратной связи с пользователем, но 300 не работает, даже если вы ждете. То, что я хотел сделать, это начать загрузку файла до процесса рендеринга (я использую представление .pdf.prawn для этого с Prawnto), чтобы, по крайней мере, пользователь мог видеть, что что-то происходит во время обработки, но так далеко не смогли этого сделать. Все примеры и руководства, которые я нашел, начинают загрузку после окончания рендеринга и после долгого ожидания.
Если ничего не помогает, я посмотрю на планирование отчета, но в идеале пользователь сможет просмотреть отчет, затем вернуться и внести изменения и запустить его снова, что, очевидно, не позволит планирование.
Не очень много кода, который можно показать с помощью Prawnto, поскольку это всего лишь макет PDF в представлении, и вызывается через него в контроллере. Я попробовал send_file и переместил макет PDF в контроллер, чтобы запустить его без Prawnto, но все изменения, похоже, дают тот же результат - PDF отправляется в браузер после долгого ожидания.
На данный момент у меня нет идей, и я буду признателен за любые идеи!
respond_to do |format|
format.pdf {
prawnto :prawn => {:page_layout => :portrait, :skip_page_creation => true}, :inline => false
render :layout => false
}