модуль ActiveJob::QueuePriority::ClassMethods
Включает возможность переопределения приоритета очереди по умолчанию.
Публичные методы экземпляров
# 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.