2014-09-06 3 views
0

나는 레일스의 cron 작업에 새로운 것이고 나는 '언제나'보석을 사용하여 그것을하고 싶다. 이것은 내가 지금까지 시도한 것이다.보석이 작동하지 않을 때마다 레일

Gemfile

gem 'whenever' 

Mailer.rb

def new_test 
    Rails.logger.debug '===========whenever is working================' 
end 

Schedule.rb는

every 1.minutes do 
    runner 'Mailers.new_test' 
end 

그러나 이것은 아무것도하지 않습니다. 내가 어디로 잘못 가고 있니? 제대로 메일러를 호출하지 않는 당신의 scheduler.rb에

:

+0

업데이트 할 프로젝트에서 다음 명령을 실행해야합니까? – SSR

답변

5

whenever 실제로 자동으로 당신을 위해 작업을 실행하지 않습니다

Mailer.rb

def new_test 
    Rails.logger.debug '===========whenever is working================' 
end 

Schedule.rb : F 우편물은 액션 메일러의 인스턴스입니다. 그것은 당신의 시스템에 해당 cronjob을 만들 수있는 쉬운 방법입니다. 당신은 당신이 오류를 게시 할 수 귀하의 crontab

whenever -i 

감사

+0

그들이 README 페이지에 문서화되어 있다면 좋을 것입니다. – unclesol

0

코드에서이 오류로 보인다. Mailers.new_test이라고 쓰면 Mailer이 단순 모델 인 경우 Mailer.new_test이어야합니다. 만약 우편물이라면. 클래스 ActionMailer에서 재정의하면 Mailer.new_test.deliver이어야합니다. Mailer의 경우

는 간단한 모델은 다음 파일이 있어야 할 것입니다 :

Mailer.rb

new_test은 Mailer.new_test하지 인스턴스 메서드처럼 호출 클래스 메소드해야

def self.new_test # Should be a class method not instance 
    Rails.logger.debug '===========whenever is working================' 
end 

Schedule.rb

every 1.minutes do 
    runner 'Mailer.new_test' 
end 

every 1.minutes do 
    runner 'Mailer.new_test.deliver' 
end 
관련 문제