2

我正在开发一个 Rails 应用程序,它需要在启动时执行一些代码。由于我想与未来的应用程序共享此行为,因此我已使用 Railtie 类将此代码放入 gem 中。

lib/my_gem/railtie.rb

module MyGem
  class Railtie < Rails::Railtie
    initializer 'my_gem.registration' do
      # the code goes here
    end
  end
end

通过这种方式,初始化程序由每个工作人员执行(我在开发中使用 Pow 和 2 个默认工作人员,我猜在生产中使用 unicorn 和多个工作人员时它会相同),这会弄乱整个应用程序(在初始化程序我设置了一个 ENV 变量,它被每个工作人员覆盖)。

有没有办法让代码只由第一个(第一个)工人执行???

感谢您的帮助,祝您有愉快的一天。

4

0 回答 0