2011-05-04 50 views
5

我使用rufus-scheduler來運行一些週期性任務,但是當我只想測試事情時,它們在rails控制檯中非常煩人。是否有一種簡單的方法可以在自動啓動控制檯時停止所有rufus調度程序任務?啓動導航控制檯時不運行rufus-scheduler的最佳方式

在啓動調度程序的代碼中,如果我能檢查到我只是在一個rails控制檯中,我不能運行它們,或者如果有一種方法在控制檯啓動時運行一些回調函數,我也可以關閉它們。

感謝

回答

6

基於Rails check if IRB console or webpage

unless self.private_methods.include? 'irb_binding' 
    #put your rufus scheduling here 
end 
+0

使用'pry-rails'時不起作用。 – 2015-11-06 09:34:48

7

我有同樣的問題,當我用魯弗斯調度和延遲的工作。

我用這個:

unless defined?(Rake) || defined?(IRB) 
    # your code here 
end 

在軌道4,5

0

測試採用修改後的文檔魯弗斯調度here

如果你不希望魯弗斯,調度程序在運行Ruby on Rails控制檯或調用rake任務時,可以將初始化程序 包裝在條件中:

unless defined?(Rails::Console) || File.split($0).last == 'rake' 
    # your code here 
end