2012-01-10 3 views
1

whenever을 사용하여 5 분마다 내 레이크 작업을 시작합니다.레일 3/cron이 실행되지 않을 때마다

schedule.rb :

every 5.minutes do 
rake "audit", 
:environment => 'development' 
end 

콘솔에서 "때마다"

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash -l -c 'cd /Users/john/Sites/rambler && RAILS_ENV=development bundle exec rake audit --silent' 

"레이크 감사"콘솔이 제대로 작동합니다.

그래서 모두 괜찮아 보이지만 ... 작동하지 않는 것. 5 분마다 아무 일도 일어나지 않습니다.

개발/로컬에서 실행하려고하기 때문에이게 맞습니까?

감사합니다.

+0

cron 작업을 실행하기 위해 어떤 사용자를 사용하고 있습니까? –

+0

좋은 질문입니다 ..사용자 구성 옵션이 표시되지 않습니까? –

답변

0

마침내 보석을 실행하는 방법을 해결했습니다. 프로덕션에서는 잘 작동하지만 개발 모드에서는 작동하지 않습니다 (dev 모드에서 잘 작동하는 데는 몇 가지 트릭을 수행해야합니다).

  1. 가 원격 서버에 scheduler.rb 파일
  2. 푸시 쓰기 보석을 설치 : Cron not working in Whenever gem

    그런 다음, 다음이해야 할 과정은 다음과 같습니다 dev에 모드에서 작업이 대답을 참조 단말기에서 실행하여 좋은 경우마다 업로드

  3. 볼 (SSH와 예) 원격 서버
  4. 로그인 :마다
  5. 업데이트 할 때마다 실행하여 crontab을 : 때마다 --update-crontab을
  6. 재시작 (우분투 예를 들면) 서버의 crontab : sudo는 서비스 크론 다시 시작 crontab을 좋은 서버에서 구현하는 경우
  7. 검사 : crontab을 -l

그렇습니다!

1

변경할 때마다 cron 파일을 업데이트해야합니다. 당신이 당신의 cron 작업을를 CH3OH 한 후

이 작업을 수행 :

때마다 --update-의 crontab '프로젝트 이름'생산 모드에서만 제대로 작동 할 때마다 또한 난 단지 발견

.

UPDATE는 :

우리는 개발 모드에서 whenever을 사용할 수있는 것으로 나타났습니다. scehdule.rb 파일에

set :environment, "development" 
set :output, {:error => "log/error.log", :standard => "log/cron.log"} 

을 추가하십시오. (로그 하나는 선택 사항이지만 여전히 테스트 용으로 사용할 수 있습니다)

관련 문제