レポートを生成するモデルがあります。
各レポートは非常に複雑になる可能性があり、読み込みに時間がかかる場合があります。したがって、delayed_job
バックグラウンドでこれを行うために使用しています。
ローカル コンピューターではすべてが機能しますが、実稼働環境ではジョブがランダムに消えます。それらはdelayed_job.log
、成功または失敗したとしても存在しません。遅延ジョブが作成されますが、エラーをスローしたり作業を実行したりせずに削除される場合があります。
これは私たちのモデルのメソッドです:
def generate_html
ac = DelayedJobsController.new()
tmp_html = ac.render_to_string partial: self.partial_path, object: self
self.update_attributes(html: tmp_html, done: true)
end
handle_asynchronously :generate_html