簡體   English   中英

訪問從發條管理器到控制器的所有事件

[英]access all events from clockwork manager to controller

我正在使用gem發條來運行計划的作業。 我需要訪問在clock.rb中定義的所有事件,以便在失敗時手動觸發發條事件。

為此,我通過在clockwork/manager.rb文件中添加attr_reader: events來創建clockwork/manager.rb

clock.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

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

如何獲取控制器中的所有發條事件?

development模式下,並非在啟動過程中加載了所有應用程序代碼,可能是您定義事件的代碼尚未加載。

您可以在控制器中require該特定文件,之后它們應該是可見的。

production模式下,所有代碼都在啟動期間加載,因此在該模式下它應該已經可以工作了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM