我正在开发一个 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 变量,它被每个工作人员覆盖)。
有没有办法让代码只由第一个(第一个)工人执行???
感谢您的帮助,祝您有愉快的一天。