나는 (1) 내가 소개 한 설정의 복잡성 때문에 매우 혼란 스러웠던 프로젝트를 보았 기 때문에 (2) 나는 개인적으로 표준 Linux (우분투) 도구는 이런 종류의 것을 처리합니다.
는
내 /etc/rc.local
파일에이 코드가 부팅에 Resque 근로자를 시작합니다. 내가 루비 환경을 설정하는 스크립트,
# Start Resque
su -l deploy -c "/home/deploy/start-resque-workers"
su -l deploy -c "/home/deploy/start-resque-webui"
다음과 레이크 작업 실행 : 나는 시스템에 배포 사용자가
# Load RVM into a shell session *as a function*
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
# First try to load from a user install
source "$HOME/.rvm/scripts/rvm"
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
# Then try to load from a root install
source "/usr/local/rvm/scripts/rvm"
else
printf "ERROR: An RVM installation was not found.\n"
fi
# Use rvm to switch to the default ruby.
rvm use default
# Now launch the app
cd /home/deploy/app-name-here/current
nohup rake QUEUE=* RAILS_ENV=production environment resque:work &
나는 이러한 종류의를 사용하고를 몇 년 동안 설정, 그리고 단단한. 서버가 중단되지 않습니다. 필자는 다른 서버를 감시하기 위해 다른 시스템 (신 보석과 같은)을 설치하는 오버 헤드가 필요하지 않습니다.
또한 capistrano gem을 사용하여 배포시 작업자를 다시 시작할 수 있습니다.
그런데 레일즈를 사용합니까? 아니면 다른 프레임 워크? –
Sinatra. 죄송합니다, 언급 했어야합니다 – Tallboy
나는 당신이 느끼는 것을 이해합니다.나는 너무 압도 당했다. :-) –