0

レポートを生成するモデルがあります。

各レポートは非​​常に複雑になる可能性があり、読み込みに時間がかかる場合があります。したがって、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
4

1 に答える 1

0

多くの作業の後、問題が見つかりました。

実際に実行するcrontab -lps aux、delayed_job の 2 つのインスタンスが実行されていることがわかります。私たちが最も古いものを殺した後、それらはすべて正常に機能しました。

于 2013-03-05T19:35:33.063 に答える