2011-03-12 2 views
0

내가 테스트하고 싶은 cron 작업이 있는데, 어디에서해야합니까? 레일 명령으로 어떻게 실행할 수 있습니까? 파일과 같은 종속성이 있다면 어떻게로드 할 수 있습니까? 그 정착물?레일즈 응용 프로그램에서 루비 스크립트를 테스트하는 방법

좀 더 구체적으로 말하면 내가 응용 프로그램 폴더에서 파일을 읽고, 파싱을하고, db에 자료를 씁니다.

어디서 테스트를하고 레일과 연결할 수 있습니까?

답변

2

내 방법은 app/jobs 폴더를 생성 한 다음 그에 따라 폴더에 클래스 이름을 지정하는 것입니다. 작업은 script/rails runner를 사용하여 호출됩니다. 러너 인터페이스가 레일을로드하고 모든 모델에 액세스 할 수 있습니다. 당신이 (생산 모드에서)이 같은 작업을 실행할 것 당신의 cron 작업에서

class SomeOddJob 
    def run 
    #do something 
    end 
end 

는 :

0 5 * * */경로 /로/스크립트/레일 생산 "SomeOddJob을 -e 러너 .run "

+1

질문의 요점 인 테스트 부분을 빠뜨린 것 같습니다. 위와 같은 설정으로 cron 작업은 기본적으로 레일스 모델이기 때문에 평범한 구형 레일 모델과 마찬가지로 단위 테스트 또는 사양,로드 고정구 등을 작성할 수 있습니다. –

+0

내가 언급하지는 않았지만 레일에 루비와 루비가 생소했다. 그렇게 할 수 있다면 더 많은 정보를 추가해주세요. –

관련 문제