модуль ActiveJob::Core::ClassMethods
Эти методы будут включены в любой объект Active Job, добавляя вспомогательные функции для де/сериализации и создания экземпляров задач.
Общедоступные методы экземпляров
# 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
# 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.