Spec-Zone.ru › Ruby on Rails 7.1

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

Включает метод perform_later для инициализации задания.

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

perform_later(...) { |job| ... } Показать исходный код
# File activejob/lib/active_job/enqueuing.rb, line 58
def perform_later(...)
  job = job_or_instantiate(...)
  enqueue_result = job.enqueue

  yield job if block_given?

  enqueue_result
end

Добавляет задание в очередь. По умолчанию аргументы должны быть либо String, Integer, Float, NilClass, TrueClass, FalseClass, BigDecimal, Symbol, Date, Time, DateTime, ActiveSupport::TimeWithZone, ActiveSupport::Duration, Hash, ActiveSupport::HashWithIndifferentAccess, Array, Range, или экземпляры GlobalID::Identification, хотя это можно расширить, добавив пользовательские сериализаторы.

Возвращает экземпляр класса задания, помещённого в очередь с аргументами, доступными в Job#arguments, или false, если добавление в очередь не удалось.

После попытки добавления в очередь задание будет передано в необязательный блок.

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

job_or_instantiate(*args) Показать исходный код
# File activejob/lib/active_job/enqueuing.rb, line 68
def job_or_instantiate(*args) # :doc:
  args.first.is_a?(self) ? args.first : new(*args)
end

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

Spec-Zone.ru

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