跳至内容 跳至搜索

包含覆盖默认队列名称和前缀的功能。

方法
Q

实例公共方法

queue_as(part_name = nil, &block)

指定用于处理作业的队列名称。

class PublishToFeedJob < ActiveJob::Base
  queue_as :feeds

  def perform(post)
    post.to_feed!
  end
end

可以传递一个代码块,该代码块将在作业的上下文中执行,以便可以应用动态队列名称。

class PublishToFeedJob < ApplicationJob
  queue_as do
    post = self.arguments.first

    if post.paid?
      :paid_feeds
    else
      :feeds
    end
  end

  def perform(post)
    post.to_feed!
  end
end
# File activejob/lib/active_job/queue_name.rb, line 39
def queue_as(part_name = nil, &block)
  if block_given?
    self.queue_name = block
  else
    self.queue_name = queue_name_from_part(part_name)
  end
end