簡體   English   中英

我應該使用哪種Rails gem來進行Resque的周期性工作?

[英]What Rails gem should I use to make recurring jobs with Resque?

我的應用程序中有一個“播放”按鈕,可通過API檢查股票價值並創建一個保存該價值的Position對象。 該操作使用Resque通過以下方式使用Resque和Redis進行后台作業:

控制器-stock_controller.rb:

  def start_tracking
    @stock = Stock.find(params[:id])
    Resque.enqueue(StockChecker, @stock.id)
    redirect_to :back
  end

工人:

class StockChecker
  @queue = :stock_checker_queue

  def self.perform(stock_id)
    stock = Stock.find_by(id: stock_id)
    stock.start_tracking_position
  end

end

模型-stock.rb:

  def start_tracking_position
    // A Position instance that holds the stock value is created
  end

現在,我希望每個Stock對象每15分鍾執行一次此操作。 我查看了Ruby Toolbox網站上的“ 計划”部分,很難決定什么適合我的需求以及如何開始實施它。

我擔心的是,我的應用程序將創建大量的Position對象,因此我需要簡單的東西,使用Resque並能承受這種類型的對象創建而不會使應用程序超載。

Stock對象上發生start_tracking動作時,我應該使用哪種寶石?每15分鍾執行一次Resque Job的最簡單方法是什么?

我發現resque調度程序很有用: https : //github.com/resque/resque-scheduler

配置schedule.yml 15分鍾

我發現最大的問題是確保它在發布后運行。最后,我將上帝設置為關閉並重新啟動

在負載方面。 不確定我是否遵循,調度程序會觸發事件,但是負載由您擁有的工作人員數量以及您決定實現創建的方式來確定。 您可以設置隊列的優先級,並為隊列設置工作進程,但是我想如果您不及時處理積壓工作,那是可以接受的。 通常,您可以在單獨的服務器上運行它們,從而最大程度地減少對前端的影響

暫無
暫無

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

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