PDF レポートの生成という 1 つの長時間実行タスクを持つ Web アプリがあります。さまざまなグラフが生成され、全部で15秒ほどの処理時間。レポートはユーザーによって生成されます。
現在、リクエスト時にレポートを処理するとプロセスが滞り、さらに重要なことに (この Web サイトの使用量が多くないことを考えると) リクエストがタイムアウトすることがあります。
そのため、アプリのこのセクションのアーキテクチャを再設計しています (Rails 2.3.8)。これを文脈に置くと、これらのレポートが 1 日に 2 つ以上生成される可能性は低く、これは非常にニッチなアプリケーションであるため、大幅なさらなるスケーリングは大きな懸念事項ではありません。ただし、将来的にプロジェクトを引き継ぐつもりなので、安定性は重要です。
私が考える最も明白な解決策は、Spawnを使用してレポートを生成し、完了したらメールでダウンロード リンクをユーザーに送信することです。私が調べた別の解決策はDelayedJobです。
同様のことをしたことがある人は、あるアプローチを別のアプローチよりも推奨できますか?