God이 두 프로세스를 순서대로 시작할 수 있습니까?God Gem을 사용하여 프로세스 시작 시퀀스 설정
나는 Redis를 사용하는 Sidekiq을 사용하고 있습니다. 나는 Sidekiq을 한 후, 레디 스를 시작 시작하고 싶은, 그리고 내가 실행 그러나 잘 독립적으로 작동 설정 두 개의 시계가 있습니다
$ god -c "./config.god" -D
하나님이 동시에를 시작하려고 것으로 보인다을 Redis 서버에 연결할 수 없기 때문에 Sidekiq에서 오류가 발생합니다.
하나님에 대한 나의 설정 파일은 다음과 같습니다 : 나는 또한, 시작 순서를 제어에 대한 궁금
# config.god
PROJECT_ROOT = ENV['PROJECT_ROOT'] || "/Path/to/app"
God.watch do |w|
w.name = "redis-server"
w.group = 'conversion-api'
w.interval = 30.seconds
w.start = "/usr/local/Cellar/redis/2.4.16/bin/redis-server"
end
God.watch do |w|
w.name = "sidekiq"
w.group = 'conversion-api'
w.interval = 20.seconds
w.dir = ENV['PROJECT_ROOT']
w.start = "bundle exec sidekiq -v -C#{PROJECT_ROOT}/config.yml -r #{PROJECT_ROOT}/app.rb -c 10"
w.stop = "bundle exec sidekiqctl stop #{PROJECT_ROOT}/tmp/pids/sidekiq.pid 5"
w.keepalive
# Don't pass in a pid file location. Let God handle things. Leaving a pid file location in
# the sidekiq config.yml seems to be harmless though and it lets us force stop sidekiq independently
# of God.
# w.pid_file = File.join(PROJECT_ROOT, 'tmp/pids/sidekiq.pid')
w.log = "./log/god_sidekiq.log"
w.behavior(:clean_pid_file)
end
이름을 딴 것처럼 믿을만한 것으로 판명되면서 하나님을 버림을 끝내었다. Upstart로 Foreman으로 전환되었습니다. – Undistraction
나는이 질문에 조금 더 시간을 할애해야한다. 여기서 누군가 해결책을 찾고 있다면 [Coderwall] (https://coderwall.com/p/9evraa)에 대한 설명입니다. – robdbirch
[Gist] (https://gist.github.com/robdbirch/5608547)를 선호하는 경우, – robdbirch