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

发布于 2024-11-04 19:50:12 字数 216 浏览 3 评论 0原文

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

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

谢谢

I use rufus-scheduler to run some periodic tasks, but they are extremely annoying to have in the rails console when I just want to test things. Is there an easy way to stop all rufus-scheduler tasks when starting a console automatically?

In the code that starts the scheduler if i can check that i am just in a rails console I can not run them, or if there is a way to run some callbacks when the console starts I can also shut them down there.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凉世弥音 2024-11-11 19:50:12

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

我用过这个:

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

在 Rails 4 中测试

I had the same issue when I used rufus-scheduler and delayed-jobs.

I used this:

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

Tested in Rails 4

清风无影 2024-11-11 19:50:12

基于 Rails 检查 IRB 控制台还是网页

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

Based on Rails check if IRB console or webpage:

unless self.private_methods.include? 'irb_binding'
  #put your rufus scheduling here
end
鸢与 2024-11-11 19:50:12

根据 rufus-scheduler 的修订文档 此处

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

除非定义?(Rails::Console) || File.split($0).last == 'rake'
  # 这里是你的代码
结尾

As per the revised documentation for rufus-scheduler here:

If you don't want rufus-scheduler to kick in when running the Ruby on
Rails console or invoking a rake task, you can wrap your initializer
in a conditional:

unless defined?(Rails::Console) || File.split($0).last == 'rake'
  # your code here
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文