仅运行初始化一次

时间:2013-08-19 10:33:41

标签: ruby-on-rails initialization worker railtie

我正在开发一个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个默认工作程序,我猜它在生产中与独角兽和多个工作人员相同)这会弄乱整个应用程序(在初始化器中,我设置了一个ENV变量,每个工作人员都会覆盖它。)

有没有办法让代码只由1(第一个)worker ???

执行

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

0 个答案:

没有答案