我正在使用 God(一个 Ruby gem)监控我的 redis 服务器。但是,我现有的服务器可能已经有一个 redis 实例了。我如何确定它监视着已经启动的现有 Redis 服务器进程?
这是我的redis的神文件:
rails_root = ENV['RAILS_ROOT']
redis_root = "/usr/local/bin"
# Redis
%w{6379}.each do |port|
God.watch do |w|
w.name = "redis"
w.interval = 30.seconds
w.start = "#{redis_root}/redis-server /etc/redis/redis.conf"
w.stop = "#{redis_root}/redis-cli shutdown"
w.restart = "#{w.stop} && #{w.start}"
w.start_grace = 10.seconds
w.restart_grace = 10.seconds
w.log = File.join(rails_root, 'log', 'redis.log')
w.keepalive(:memory_max => 5000.megabytes)
w.start_if do |start|
start.condition(:process_running) do |c|
c.interval = 5.seconds
c.running = false
end
end
end
end
最佳答案
回答这个问题:
我放了一个 w.pid_file = "SOMETHING"在我的上帝文件中,并确保这个 PID 文件也在 Redis 的配置文件中设置。
关于ruby-on-rails - 神配置文件监控现有进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16426786/