如何在开发中关闭 PumaWorkerKiller

How to turn off PumaWorkerKiller in development

我正在使用 PumaWorkerKillerconfig/puma.rb 中使用此代码:

  before_fork do
    PumaWorkerKiller.config do |config|
      config.ram           = 512 # mb
    end
    PumaWorkerKiller.start
  end

我想在开发模式下停止它 运行。我试图通过在 like

中放置一个保护条款来做到这一点
if Rails.env.production?
  # PumaWorkerKiller code goes here
end

这在开发中有效,但在生产中触发错误,大意是 Rails 是一个未知常量。大概它在生产中比开发中加载得早。

如何在开发中关闭 PumaWorkerKiller 但在生产中继续运行?

Puma 应该知道它所处的环境而不需要引用 rails。

这是我的 config/puma.rb 的样子,省略了不相关的行:

environment ENV["RACK_ENV"] || "development"

before_fork do
  require "puma_worker_killer"

  PumaWorkerKiller.config do |config|
    config.ram           = (ENV["PUMA_WORKER_KILLER_RAM"] || 1024).to_i # mb
  end
  PumaWorkerKiller.start unless get(:environment) == "development"
end