访问从发条管理器到控制器的所有事件
access all events from clockwork manager to controller
正在使用 gem clockwork 进行 运行 计划作业。
我需要访问 clock.rb 中定义的所有事件,以便在它失败时手动触发发条事件。
为此,我通过在 clockwork/manager.rb
文件中添加 attr_reader: events
来分叉发条装置 gem。
clock.rb
module Clockwork
every(10.seconds, 'job1') do
p Clockwork.manager.events
end
end
通过在 clock.rb 中使用 Clockwork.manager.events
它 returns 在 clock.rb 中定义的所有事件。
mycontroller.rb
module Admin
class MyController < AdminController
require 'clockwork'
def index
@events = Clockwork.manager.events
end
end
end
但是在控制器中使用它时它 returns 空值。
如何获取控制器中的所有发条事件?
在 development
模式下,并非所有应用程序代码都在启动期间加载,很可能您定义事件的代码尚未加载。
您可以 require
控制器中的特定文件,之后它们应该是可见的。
在 production
模式下,所有代码都在启动期间加载,因此在该模式下它应该已经可以工作了。
正在使用 gem clockwork 进行 运行 计划作业。 我需要访问 clock.rb 中定义的所有事件,以便在它失败时手动触发发条事件。
为此,我通过在 clockwork/manager.rb
文件中添加 attr_reader: events
来分叉发条装置 gem。
clock.rb
module Clockwork
every(10.seconds, 'job1') do
p Clockwork.manager.events
end
end
通过在 clock.rb 中使用 Clockwork.manager.events
它 returns 在 clock.rb 中定义的所有事件。
mycontroller.rb
module Admin
class MyController < AdminController
require 'clockwork'
def index
@events = Clockwork.manager.events
end
end
end
但是在控制器中使用它时它 returns 空值。
如何获取控制器中的所有发条事件?
在 development
模式下,并非所有应用程序代码都在启动期间加载,很可能您定义事件的代码尚未加载。
您可以 require
控制器中的特定文件,之后它们应该是可见的。
在 production
模式下,所有代码都在启动期间加载,因此在该模式下它应该已经可以工作了。