2016-09-27 2 views
0

난 레일 5 애플 리케이션에 대한 활성 작업 큐 대기 백엔드로 Delayed Job을 사용하지만, 시작 후 우분투 14.04에서 작업자를 시작하는 방법을 모르겠습니다. rails jobs:work을 Bash 스크립트에 넣어야합니까? 자동으로 시작하려면 어떻게해야합니까? 아니면 bin/delayed_job을 사용하는 것이 더 낫습니까?우분투로 지연된 작업을 시작하는 방법?

부팅시 지연된 작업을 어떻게 시작합니까?

답변

1

OS가 실제로 중요하지는 않습니다 (Windows가 아닌 한 : D).

bundle exec rake jobs:work 

명령 인 delayed_job를 다시 시작 : 추가 정보를

RAILS_ENV=production script/delayed_job restart 

체크 아웃 gems README

는 명령이 처리를 시작합니다.

당신은 사용자의 홈 start_delayed_jon.sh 일부 bash는 스크립트를 만들 수 있습니다

EDIT (주석에 따라)

.

라인을 따라 뭔가 :

#!/bin/bash 
cd /path/to/your/project/directory/ 
RAILS_ENV=development bundle exec rake jobs:work 

와 /etc/rc.local에에서 실행 :

su -s /bin/bash - deploy /path/to/your/project/directory/start_delayed_jon.sh 
+0

그래, 그게 내가 내 dev에 기계에 시작하지만 어떻게 내가 우분투 서버 부팅시 자동으로 시작했습니다하는 방법은? – ilovebigmacs

+0

@ilovebigmacs 수정 –

+1

PS를 참조하십시오. 나는 DJ 대신에'사이드 키드 (Sidekiq) '를 녹음 할 것이다. –

3

Whenever Gem, 당신이 할 수있는 설정 재부팅을 실행 cronjob에 사용. 당신의 레이크 파일에서 다음

every :reboot do 
rake 'start_delayed_jobs' 
end 

: 당신의 schedule.rb 파일에서

desc 'Start delayed jobs' 
    task :start_delayed_jobs do 
    system("#(Rails.root}/bin/delayed_job start") 
    end 
end 
+0

이 작동하지만 오타 -> 시스템에서 빨리 수정됩니다 ("# {Rails.root}/bin/delayed_job start"). – Jay

관련 문제