0

예약 된 작업을 실행하는 데 gem clockwork을 사용하고 있습니다. 실패하면 시계 작업 이벤트를 수동으로 트리거하기 위해 clock.rb에 정의 된 모든 이벤트에 액세스해야합니다.시계 작업 관리자에서 컨트롤러로 모든 이벤트 액세스

그 때문에 attr_reader: eventsclockwork/manager.rb 파일에 추가하여 시계 작업 보석을 포크했습니다. Clockwork.manager.events를 사용하여

clock.rb

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

는 clock.rb 년에는 clock.rb에 정의 된 모든 이벤트를 반환합니다.

module Admin 
    class MyController < AdminController 

    require 'clockwork' 

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

그러나 컨트롤러를 사용하는 동안은 빈 값을 반환 mycontroller.rb

.

컨트롤러에서 모든 시계 이벤트를 얻는 방법은 무엇입니까?

답변

1

development 모드에서 시작 중에 모든 응용 프로그램 코드가로드되는 것은 아니며 이벤트를 정의한 코드가 아직로드되지 않은 것 같습니다.

require 컨트롤러의 특정 파일을 볼 수 있어야합니다.

production 모드에서 모든 모드는 시작 중에로드되므로 해당 모드에서 이미 작동해야합니다.

관련 문제