【问题标题】:How to set dynamic resque queue如何设置动态resque队列
【发布时间】:2019-09-02 05:40:19
【问题描述】:

我希望我可以决定去哪个队列上班。 这是因为如果作业由服务器(cronjob)调度,它必须在慢队列上运行,如果它由用户运行,它将在快速队列上运行。 如何在 Resque 中运行它?

控制器

MyJob.perform_later(id, :fast)

耙任务

MyJob.perform_later(id, :slow)

工作

class MyJob < ApplicationJob
  queue_as :default #<-- This has to be dynamic

  def perform(item_id, queue_name)
     ....
  end

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5 resque


    【解决方案1】:

    我看到你在使用ActiveJob,你可以使用set方法设置队列:

    控制器

    MyJob.set(queue: :fast).perform_later(id)
    

    耙任务

    MyJob.set(queue: :slow).perform_later(id)
    

    set 方法允许您设置比队列更多的东西,您还可以设置例如优先级或何时执行作业。参见文档https://api.rubyonrails.org/v5.2.3/classes/ActiveJob/Core/ClassMethods.html#method-i-set

    注意:我想,您已经有慢速和快速的 Resque 队列并正在运行,并且只想使用它们

    【讨论】:

      猜你喜欢
      • 2020-04-30
      • 2021-02-11
      • 1970-01-01
      • 2014-11-05
      • 2015-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多