2011-02-09 2 views
5

백그라운드 프로세스 였기 때문에 시간 초과가 발생하지 않는다고 생각했습니다. 백그라운드에서 보고서를 실행하기 위해 delayed_job을 사용했습니다. 매우 크고 오래 실행되는 보고서는이 메시지와 함께 실패합니다.Delayed_Job 작업을 "execution expired"가 실패하지 않게 유지하는 방법

나는 Phusion Passenger가있는 Apache2에서 Rails 2.3.5를 실행 중입니다. delayed_jobs faq wiki page on github에서

답변

11

:

# config/initializers/delayed_job_config.rb 
Delayed::Job.destroy_failed_jobs = false 
silence_warnings do 
    Delayed::Job.const_set("MAX_ATTEMPTS", 3) 
    Delayed::Job.const_set("MAX_RUN_TIME", 5.minutes) 
end 

당신은 MAX_RUN_TIME을 높이기 위해 찾고 있습니다. 기본값은 4 시간이므로 6.hours 또는 그 이상으로 설정할 수 있습니다. 길이가 가장 길어야 일을해야한다고 생각합니다. 그러나 이는 분명히 응용 프로그램/작업에 따라 다르며 허용되는 가장 긴 시간이 무엇인지 알 것입니다.

+0

D' oh! RTFM이 다시 공격합니다. 브렛 감사합니다. – AKWF

+0

나는 항상 똑같은 것을한다. 문제 없다. 행운을 빕니다! –

+1

보석의 추가 정보가 옮겨졌으며, [세부 정보] (https://github.com/collectiveidea/delayed_job#gory-details)에서 'max_run_time'에 대한 정보를 읽을 수 있습니다. –

관련 문제