2013-03-04 8 views
0

보고서를 생성하는 모델이 있습니다.delayed_job, 작업이 임의로 사라짐

각 보고서는 매우 복잡 할 수 있으며로드하는 데 시간이 오래 걸릴 수 있습니다. 따라서 백그라운드에서이 작업을 수행하기 위해 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 

답변

0

많은 작업 후 :

은 우리의 모델의 방법이다.

우리가 crontab -lps aux을 실행했을 때 우리는 delayed_job의 두 인스턴스가 실행되고있는 것을 보았습니다. 우리가 죽은 후에 그들 중 가장 오래된 사람이 모두 일한 것처럼 일했습니다.