簡體   English   中英

啟動 Rails 控制台時不運行 rufus-scheduler 的最佳方法

[英]Best way to not run rufus-scheduler when starting a rails console

我使用 rufus-scheduler 運行一些周期性任務,但是當我只想測試一些東西時,它們在 rails 控制台中非常煩人。 自動啟動控制台時,是否有一種簡單的方法可以停止所有 rufus-scheduler 任務?

在啟動調度程序的代碼中,如果我可以檢查我是否只是在 Rails 控制台中,我無法運行它們,或者如果有辦法在控制台啟動時運行一些回調,我也可以在那里關閉它們。

謝謝

當我使用 rufus-scheduler 和延遲作業時,我遇到了同樣的問題。

我用這個:

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

在 Rails 4 中測試

基於Rails 檢查 IRB 控制台或網頁

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

根據此處rufus-scheduler 的修訂文檔:

如果您不想在 Rails 控制台上運行 Ruby 或調用 rake 任務時啟動 rufus-scheduler,則可以將初始化程序包裝在條件中:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM