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