Spec-Zone.ru › Ruby on Rails 7.1

модуль ActiveJob::QueuePriority::ClassMethods

Включает возможность переопределения приоритета очереди по умолчанию.

Публичные методы экземпляров

queue_with_priority(priority = nil, &block) Показать исходный код
# File activejob/lib/active_job/queue_priority.rb, line 39
def queue_with_priority(priority = nil, &block)
  if block_given?
    self.priority = block
  else
    self.priority = priority
  end
end

Указывает приоритет очереди для создания задачи.

class PublishToFeedJob < ActiveJob::Base
  queue_with_priority 50

  def perform(post)
    post.to_feed!
  end
end

Можно передать блок, который будет выполняться в контексте задачи, чтобы применить динамический приоритет:

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

    if post.paid?
      10
    else
      50
    end
  end

  def perform(post)
    post.to_feed!
  end
end

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API