如何设置动态resque队列
How to set dynamic resque queue
我希望我可以决定去哪个队列上班。
这是因为如果作业由服务器 (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
我看到你正在使用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 队列 运行 并且只想使用它们
我希望我可以决定去哪个队列上班。 这是因为如果作业由服务器 (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
我看到你正在使用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 队列 运行 并且只想使用它们