Ruby on rails 我应该使用什么Rails gem来使用Resque进行定期作业?

Ruby on rails 我应该使用什么Rails gem来使用Resque进行定期作业?,ruby-on-rails,redis,scheduled-tasks,resque,Ruby On Rails,Redis,Scheduled Tasks,Resque,我的应用程序中有一个“播放”按钮,可以从API检查股票价值,并创建一个持有该价值的Position对象。此操作使用Resque以以下方式使用Resque和Redis生成后台作业: 控制器-库存控制器.rb: def start_tracking @stock = Stock.find(params[:id]) Resque.enqueue(StockChecker, @stock.id) redirect_to :back end 工人: class Stock

我的应用程序中有一个“播放”按钮,可以从API检查股票价值,并创建一个持有该价值的Position对象。此操作使用Resque以以下方式使用Resque和Redis生成后台作业:

控制器-库存控制器.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分钟对每个库存对象执行一次。我看了一下,很难决定什么适合我的需要,以及如何开始实施它

我担心的是,我的应用程序将创建成吨的
位置
对象,因此我需要一些简单的东西,使用Resque,能够承受这种类型的对象创建而不会使应用程序过载


start\u tracking
操作发生在
Stock
对象上时,我应该使用什么gem?最简单的方法是什么?我发现Resque scheduler很有用:

将schedule.yml配置为15分钟

我发现最大的问题是确保它运行post发行版等。最后我设置了God来关闭和重新启动

在负载方面。我不确定是否遵循,调度程序将触发事件,但负载取决于您拥有的工作人员数量以及您决定如何实现创建。您可以设置队列的优先级,以及队列的工作人员,但我想如果您不及时处理它们,您会得到积压工作,这可以接受吗?通常情况下,您会在一个单独的服务器上运行它们,这将对前端的影响降至最低