2014-12-26 2 views
1

Я обрабатываю задачу, которая требует некоторого времени, поэтому я думаю о назначении этой задачи Delayed Job. Было бы весьма удобным для пользователей отображать пользователям информацию о состоянии текущей обрабатываемой задачи - например, «обработка» и «выполнение».Rails + DelayedJob: как отобразить состояние, выполняемое/завершенное задание Заданное задание?

Отъезд официального Github page и я вижу там некоторые success, after и т. Д. Методы, но как их использовать?

Заранее спасибо.

ответ

0

На самом деле я эффективно использовал DelayedJob в своем проекте. Следующая процедура работает отлично для меня. Предположим, у нас есть модуль или класс как подписка и я называю метод, который был определен как метод модуля с использованием отсроченной работы следующим образом:

Subscription.delay (: очереди => «insertion_order _ # {advertiser.advertiser_id }»,: приоритет => 1,: record_of => request_tracker.record_of) .pull_data (рекламодатель, дата, Insertionorder)

Теперь, если вы хотите отслеживать ошибки, успех или любые другие крючки, то у вас есть для определения их в модуле или соответствующем классе следующим образом:

module Subsciption 
    def self.error(job, exception) 
    puts "Error occurred" 
    sleep(160) 
    end 
end 

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

+0

@ user984621 Это полезно? – pramod

+0

Благодарим вас за ответ. Но я все еще пытаюсь выяснить, как использовать эту процедуру для моей проблемы - все, что я делаю, это вызов одной строки 'Subscription.delay.cancel_subscription (user)' - поэтому мне нужно создать для него специальный модуль 'Subscription' ? И в представлении, как отображать информацию о том, обрабатывается или выполняется задание? (Извините, это немного запутывает для меня) – user984621

+0

Подписывается ли класс или модуль в вашем проекте? – pramod

Смежные вопросы