Spec-Zone.ru › Ruby on Rails 4.2

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

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

Общедоступные методы экземпляров

deserialize(job_data) Показать исходный код
# File activejob/lib/active_job/core.rb, line 27
def deserialize(job_data)
  job                      = job_data['job_class'].constantize.new
  job.job_id               = job_data['job_id']
  job.queue_name           = job_data['queue_name']
  job.serialized_arguments = job_data['arguments']
  job.locale               = job_data['locale'] || I18n.locale
  job
end

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

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

Создаёт задачу с предварительной настройкой заданных параметров. Вы можете вызвать perform_later с аргументами задачи для добавления задачи в очередь с предварительно настроенными параметрами

Параметры

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

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

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

Примеры

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)

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

Spec-Zone.ru

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