Spec-Zone.ru › Ruby on Rails 8.1

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

Эти методы будут включены в любой объект Active Job, добавляя вспомогательные средства для сериализации и десериализации, а также создания экземпляров задач.

Открытые методы экземпляра

deserialize (job_data) Показать исходный код
# File activejob/lib/active_job/core.rb, line 69
def deserialize(job_data)
  job_class = job_data["job_class"].safe_constantize
  raise UnknownJobClassError, job_data["job_class"] unless job_class

  job = job_class.new
  job.deserialize(job_data)
  job
end

Создаёт новый экземпляр задачи из хеша, созданного с помощью serialize

set (options = {}) Показать исходный код
# File activejob/lib/active_job/core.rb, line 96
def set(options = {})
  ConfiguredJob.new(self, options)
end

Создаёт задачу с заранее заданными параметрами. Вызовите perform_later с аргументами задачи, чтобы добавить её в очередь с этими параметрами

Параметры

  • :wait — добавляет задачу в очередь с указанной задержкой

  • :wait_until — добавляет задачу в очередь на указанное время

  • :queue — добавляет задачу в указанную очередь

  • :priority — добавляет задачу в очередь с указанным приоритетом

Примеры

VideoJob.set(queue: :some_queue).perform_later(Video.last)
VideoJob.set(wait: 5.minutes).perform_later(Video.last)
VideoJob.set(wait_until: Time.now.tomorrow).perform_later(Video.last)
VideoJob.set(queue: :some_queue, wait: 5.minutes).perform_later(Video.last)
VideoJob.set(queue: :some_queue, wait_until: Time.now.tomorrow).perform_later(Video.last)
VideoJob.set(queue: :some_queue, wait: 5.minutes, priority: 10).perform_later(Video.last)

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

Spec-Zone.ru

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