我在我的應用程序中有一個「播放」按鈕,用於檢查來自API的股票值並創建一個包含該值的位置對象。這個動作使用Resque作出下列方式使用Resque和Redis的後臺作業:我應該使用哪些Rails創業板來使用Resque重複創作?
控制器 - 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
我現在希望每15分鐘爲每個庫存對象發生這種情況。我看着scheduling section in the Ruby Toolbox website,很難決定什麼符合我的需求,以及如何開始實施它。
我的問題是我的應用程序會創建大量的Position
對象,所以我需要一些簡單的東西,使用Resque並且可以承受這種類型的對象創建而不會超載應用程序。
我應該使用什麼寶石,當start_tracking
動作發生在Stock
對象上時,每15分鐘發生一次Resque Job的最簡單方法是什麼?