启动rails控制台时不运行rufus-scheduler的最佳方法

我使用rufus-scheduler来运行一些周期性任务,但是当我只是想测试时它们在rails控制台中非常烦人。 有没有一种简单的方法可以在自动启动控制台时停止所有rufus-scheduler任务?

在启动调度程序的代码中,如果我可以检查我只是在rails控制台中我无法运行它们,或者如果有一种方法在控制台启动时运行一些回调,我也可以在那里关闭它们。

谢谢

基于Rails检查IRB控制台或网页 :

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

当我使用rufus-scheduler和delayed-jobs时,我遇到了同样的问题。

我用过这个:

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

在Rails中测试4

根据rufus-scheduler的修订文档:

如果您不希望rufus-scheduler在运行Ruby on Rails控制台或调用rake任务时启动,则可以将初始化程序包装在条件中:

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