一尘不染

上帝配置文件来监视现有流程?

redis

我正在使用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

阅读 289

收藏
2020-06-20

共1个答案

一尘不染

要回答这个问题:

我在我的God文件中放入了w.pid_file =“ SOMETHING”,并确保在Redis的配置文件中也设置了此PID文件。

2020-06-20