我使用rufus-scheduler來運行一些週期性任務,但是當我只想測試事情時,它們在rails控制檯中非常煩人。是否有一種簡單的方法可以在自動啓動控制檯時停止所有rufus調度程序任務?啓動導航控制檯時不運行rufus-scheduler的最佳方式
在啓動調度程序的代碼中,如果我能檢查到我只是在一個rails控制檯中,我不能運行它們,或者如果有一種方法在控制檯啓動時運行一些回調函數,我也可以關閉它們。
感謝
我使用rufus-scheduler來運行一些週期性任務,但是當我只想測試事情時,它們在rails控制檯中非常煩人。是否有一種簡單的方法可以在自動啓動控制檯時停止所有rufus調度程序任務?啓動導航控制檯時不運行rufus-scheduler的最佳方式
在啓動調度程序的代碼中,如果我能檢查到我只是在一個rails控制檯中,我不能運行它們,或者如果有一種方法在控制檯啓動時運行一些回調函數,我也可以關閉它們。
感謝
基於Rails check if IRB console or webpage:
unless self.private_methods.include? 'irb_binding'
#put your rufus scheduling here
end
我有同樣的問題,當我用魯弗斯調度和延遲的工作。
我用這個:
unless defined?(Rake) || defined?(IRB)
# your code here
end
在軌道4,5
測試採用修改後的文檔魯弗斯調度here:
如果你不希望魯弗斯,調度程序在運行Ruby on Rails控制檯或調用rake任務時,可以將初始化程序 包裝在條件中:
unless defined?(Rails::Console) || File.split($0).last == 'rake' # your code here end
使用'pry-rails'時不起作用。 – 2015-11-06 09:34:48