【问题标题】:access all events from clockwork manager to controller访问从发条管理器到控制器的所有事件
【发布时间】:2018-06-10 10:56:09
【问题描述】:

我正在使用 gem clockwork 运行预定的作业。 我需要访问 clock.rb 中定义的所有事件,以便在时钟事件发生故障时手动触发它。

为此,我通过在 clockwork/manager.rb 文件中添加 attr_reader: events 来分叉发条宝石。

时钟.rb

module Clockwork
  every(10.seconds, 'job1') do
    p Clockwork.manager.events
  end
end

通过在clock.rb 中使用Clockwork.manager.events,它返回所有在clock.rb 中定义的事件。

mycontroller.rb

module Admin
  class MyController < AdminController

    require 'clockwork'

    def index
      @events = Clockwork.manager.events
    end
  end
end

但是在控制器中使用它时它返回空值。

如何获取控制器中的所有发条事件?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 clockwork


    【解决方案1】:

    development 模式下,并非所有应用程序代码都在启动期间加载,可能尚未加载您定义事件的代码。

    您可以在控制器中require 该特定文件,之后它们应该是可见的。

    production 模式下,所有代码都是在启动期间加载的,因此在该模式下它应该已经可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-02
      相关资源
      最近更新 更多