ruby-on-rails - 神配置文件监控现有进程?

标签 ruby-on-rails ruby redis god

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

相关文章:

mysql - rails : Catch Exception for Invalid SQL Query

ruby-on-rails - 在 Rails 5 中放置可下载文件的正确位置

javascript - Rails 中的 AJAX GET 请求不渲染views/json

mysql - Snow Leopard + Ruby 1.9.1 + MySQL Gem = 大问题

docker - Redis 连接到 127.0.0.1 :6379 failed using Docker

ruby-on-rails - 为什么 `layout nil` 不起作用?

ruby-on-rails - Rails DateTime 对象不是我所期望的

ruby - 如何使用 Rails 生成 Excel 文件?

spring - 用spring data redis实现的悲观锁,setNX方法返回null

node.js 与 redis : synchronous or asynchronous?