Задержки Вакансии Крючки не работают? - PullRequest
0 голосов
/ 11 марта 2011

Я пытаюсь заставить мои зацепки с отложенными заданиями работать, но, похоже, они не работают.Они устарели?Если нет, можете ли вы показать мне ваш пример?

Вот мой:

class PhotoJob < Struct.new(:image_id)
  def perform
    Photo.find(self.image_id).regenerate_styles!
  end
  def error(job, exception)
    if Photo.exists?(self.image_id)
      Photo.find(self.image_id).regenerate_styles!
    else
      Delayed::Job.find(self).destroy
    end
  end
end

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

Вот ловушка, если я нахожу фотографию, которая терпит неудачу, и запускаю Photo.find(n).regenerate_styles!, тогда фотография восстанавливается соответствующим образом и работает.

Так что я предполагаю, что крюки Задержанных заданий не работают.

1 Ответ

3 голосов
/ 12 марта 2011

Они работали хорошо для меня:

class BaseProcessorJob
  def perform
    raise NotImplementedError
  end

  def error(job, exception)
    Rails.logger.error "Job failed #{exception}"
  end
end

Изначально у меня была похожая проблема с перехватом не вызываемых хуков из-за устаревшего гема delayed_job (он был фактически установлен как плагин, что вызывало мои проблемы). Не уверен, что все это поможет вам.

...