在Rails完成加载后运行代码?

Ale*_*lin 9 ruby-on-rails delayed-job ruby-on-rails-3

我有一个需要每分钟执行一次的周期性任务(使用delayed_job).我希望Rails在加载完成后立即自动排队,如果系统中还没有这样的任务.

在整个Rails启动流程结束时运行一些代码的好地方是什么?有人建议使用config/environments/development.rb(或其他环境),但是当我从那里排队作业时,delayed_job会给我ActiveRecord问题.

我咨询了http://guides.rubyonrails.org/initialization.html,似乎也没有明确的位置.

是否可以通过rake或其他方式在我的应用程序代码外部完成这种部署后设置?有什么建议?

谢谢!

Osc*_*Ben 8

关于http://guides.rubyonrails.org/initialization.html,抱歉,我们正在努力重写它.对于您的问题,我会config.after_initialize在您的application.rb中尝试

def after_initialize(&block)
  ActiveSupport.on_load(:after_initialize, :yield => true, &block)
end
Run Code Online (Sandbox Code Playgroud)