UPDATE :이 문제에 대한 패치가있었습니다 : https://github.com/collectiveidea/delayed_job/commit/023444424166ba2ce011bfe2d47954e79edf6798NoMethodError
업데이트 2 : 사람이 특별히에게 Heroku에서이 문제에 실행, 나는 0.8을 긁어 다운 그레이드 발견했습니다. 7이고 Delayed Job 버전 2.1.4를 사용하는 반면 지연된 작업 v3은 그렇지 않습니다 (패치는 로컬에서 작동 함). 이것은 Bamboo-mri-1.9.2 스택에 있습니다.
로컬로 레일스 3.1.0 앱에 delayed_job을 구현하려고합니다. 나는 마이그레이션을 실행하고 는 보석 파일을 설치하십시오 collectiveidea의 GitHub의 (https://github.com/collectiveidea/delayed_job)에 대한 설명서에 따라
gem 'delayed_job'
gem 'delayed_job_active_record'
합니다. 다음과 같이 내 컨트롤러에서 지연 호출을하고있다 :
EventMailer.delay.event_message_email(current_user, @event_message)
이 작업의 원인이 작업 테이블에 추가 할하지만 난 레이크 작업을 실행하면
Class#event_message_email failed with NoMethodError: undefined method `event_message_email' for Class:Class - 6 failed attempts
: 작업을 다음과 같은 오류를 기록
나는 다른 delayed_job NoMethod 오류 질문을 봤지만 아무도이 특정 오류를 해결하거나 해결 방법을 제공하지 않습니다. collectiveidea 페이지는 전달 메소드 호출이없는이 형식이 Rails 3 메일러가 어떻게 설정되어 있는지에 대한 해킹이라고 언급했기 때문에이 문서가 시대에 뒤떨어 졌는지, 메일러 메소드를 호출하는 새로운 방법이 있는지 궁금합니다.
업데이트 : 지연없이 메일러 메소드를 호출하는 것이 좋습니다. collectiveidea faq에 언급 된 Thin 문제가 적용되지 않도록 기본 레일즈 서버에서 실행 중입니다. 감사합니다.
'rake jobs : work' 작업을 마지막으로 다시 시작한 시점은 언제입니까? 모든 코드를 변경 한 후에 다시 시작해야합니다. – iwasrobbed
EventMailer.event_message_email (current_user, @event_message) .delay.deliver가 작동합니까? – Unixmonkey
@iWasRobbed : 예, 시도했습니다. – tks