Ruby on rails 只运行一次初始化

Ruby on rails 只运行一次初始化,ruby-on-rails,initialization,worker,railtie,Ruby On Rails,Initialization,Worker,Railtie,我正在开发一个Rails应用程序,它需要在启动时执行一些代码。由于我想与未来的应用程序共享此行为,因此我使用Railtie类将此代码放入gem中 lib/my_gem/railtie.rb 模块MyGem 类Railtie

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

lib/my_gem/railtie.rb
模块MyGem
类Railtie
通过这种方式,初始化器由每个工作人员执行(我在开发中使用Pow和2个默认工作人员,我猜在生产中使用unicorn和多个工作人员时,它将是相同的),这会弄乱整个应用程序(在初始化器中,我设置了一个ENV变量,每个工作人员都会覆盖它)

有没有办法让代码只由1(第一个)工作者执行


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

如果有人遇到同样的问题,我已解决将代码从初始值设定项移动到rake任务中,并在启动应用程序之前运行它(从Capistrano)。这样,我的ENV变量只设置一次。
module MyGem
  class Railtie < Rails::Railtie
    initializer 'my_gem.registration' do
      # the code goes here
    end
  end
end