2009-11-11 2 views
3

다음과 같이 schedule.rb 파일을 설정했습니다.레일에서 Javan을 사용할 때 cron을 작동시키는 법

set :cron_log, "/log/cron_log.log" 
if Rails.env.development? 
    every 1.minute do 
    runner "SomeModel.move_values" 
    runner "SomeOtherModel.dispense" 
    end 
end 

나는 또한하지만 내 모델 방법 (클래스 메소드가)

를 호출되지 않습니다 --set 환경 = 개발 때마다 --update-crontab을 트렁크가 에 의해 개발 모드에서 작동합니다. 구성이 올바른지 확인할 수있는 방법이 있습니까? 단순히 업데이트를 사용하면 프로덕션 환경을 사용하도록 설정을 다시 설정합니다.

답변

2

플러그인을 사용할 때마다 동일한 javan을 사용하여 끝냈습니다.

터미널에 crontab -l을 입력하십시오. crontab이 적절히 생성 된 것을 알게되면 코드 또는 일부 서버 문제임을 알게됩니다.

동적으로 환경을 설정하려면 schedule.rb 파일에서 set :environment, RAILS_ENV을 수행하는 것이 좋습니다.

라이언 베이츠는이에 좋은 스크린 캐스트를 수행했습니다 또한 http://railscasts.com/episodes/164-cron-in-ruby

, 웹 기반의 대안이있다, 예를 들면 : webbasedcron

+0

안녕하십니까. 답변을 주셔서 감사하지만 스크린 캐스트와 crontab -l이 표시된 후에 시작했습니다. * * * */home/sid/folder/trunk/script/runner -e production "CreditDetail.move_values "/log/cron.log 2> & 1 * * * * */home/sid/folder/trunk/script/runner -e production"Exp.dispense ">> /log/cron.log 2> & 1 하지만 내 로그를 업데이트하지 않거나 cron을 실행하지 않습니다. 내가 뭔가를 놓치고 있는지 또는 내 구성이 어딘가에 잘못되었을 때 확실하지 않다. 나에게 보낸 링크를 체크 아웃 할 것이지만 나는 여전히 이것에 대한 도움을 주시면 감사하겠습니다. – Sid

+0

방금 ​​게시 한 crontab은 프로덕션 서버에서 올 바릅니다. ? 그렇지 않으면 "-e development"라고해야합니다. 콘솔을 열고 "CreditDetail.move_values"또는 "Exp.dispense"를 실행하면 오류가 발생합니까? – tybro0103

+0

아니, 내 개발 컴퓨터에서 cron을 실행하고 싶다. 그리고 대답에 감사드립니다. 나는 내가 사용하고 있던 보석의 버전이 데이트되었고 gemcutter에서 구할 수있는 버전이 보석의 최신 버전임을 깨달았다. 나는 새로운 정보원에서 보석을 얻은 후에 정보 검색 서비스를 운영하고 있습니다. 감사합니다. – Sid

1

실행 때마다 --set 환경 = 테스트 -w

테스트 환경에서 crontab을 생성하려면 분명히 테스트를 바꿀 수 있습니다.

관련 문제