神に2つのプロセスを順番に開始させることは可能ですか?
Redisに依存するSidekiqを使用しています。Redis を起動してから Sidekiq を起動したいのですが、独立して正常に動作する 2 つの別々のウォッチをセットアップしていますが、実行する
$ god -c "./config.god" -D
と、神が両方を同時に起動しようとしているようで、Sidekiq でエラーが発生する可能性があります。 Redis サーバーに接続します。
神のための私の設定ファイルは以下の通りです:
# 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