我正在使用God(一个Ruby gem)监视我的Redis服务器。但是,我现有的服务器可能已经有一个redis up实例。如何确定它监视已经启动的 现有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
要回答这个问题:
我在我的God文件中放入了w.pid_file =“ SOMETHING”,并确保在Redis的配置文件中也设置了此PID文件。