У меня есть веб-приложение, которое выполняет одну долгосрочную задачу - создание отчета в формате PDF.Различные графики генерируются, и это занимает около 15 секунд для обработки всего.Отчет генерируется пользователем.
Обработка отчета во время запроса в настоящее время приводит к задержке процесса, и, что более важно (учитывая, что использование этого веб-сайта не является интенсивным), время ожидания запроса иногда истекает.
IПоэтому я перерабатываю архитектуру этого раздела приложения (Rails 2.3.8).Чтобы поместить это в контекст, маловероятно, что в день будет сгенерировано более пары таких отчетов, и это чрезвычайно нишевое приложение, поэтому значительное дальнейшее масштабирование не является серьезной проблемой.Тем не менее, я собираюсь сдать проект в будущем, поэтому стабильность будет.
Самое очевидное решение, которое я думаю, - это использовать Spawn для генерации отчета и запуска ссылки на скачиваниепользователь по электронной почте, как только он завершен.Другое решение, которое я рассмотрел, - DelayedJob .
Может ли кто-нибудь, кто сделал нечто подобное, порекомендовать один подход другому?