我使用rufus-scheduler来运行一些周期性任务,但是当我只是想测试一些东西时,在rails控制台中运行它们是非常烦人的。有没有一种简单的方法可以在自动启动控制台时停止所有rufus-scheduler任务?
在启动调度器的代码中,如果我可以检查我只是在rails控制台中,我不能运行它们,或者如果有一种方法可以在控制台启动时运行一些回调,我也可以在那里关闭它们。
谢谢
发布于 2011-06-14 01:01:19
基于Rails check if IRB console or webpage
unless self.private_methods.include? 'irb_binding'
#put your rufus scheduling here
end发布于 2013-10-17 10:48:08
当我使用rufus调度程序和延迟作业时,我也遇到了同样的问题。
我使用了这个:
unless defined?(Rake) || defined?(IRB)
# your code here
end在Rails 4中测试
发布于 2017-04-03 19:42:00
根据rufus-scheduler here的修订文档
如果你不想在运行Ruby on Rails控制台或者调用rake任务时使用rufus调度器,你可以把你的初始化器封装在一个条件中:
除非定义?(Rails::Console) || File.split($0).last == 'rake‘#你的代码在这里结束
https://stackoverflow.com/questions/5890551
复制相似问题