Как использовать Delayed :: Job в обратном вызове after_save? - PullRequest
0 голосов
/ 21 июня 2010

Я хочу запустить метод process_images асинхронно after_save с Delayed::Job. Тем не менее, когда я пытаюсь:

after_save lambda { send_later(:process_images) }

Я получаю NoMethodError: You have a nil object when you didn't expect it!. (self.send_later(:process_images) работает либо)

1 Ответ

5 голосов
/ 03 февраля 2011

Это может сработать ... Я помню, как использовал его некоторое время назад, прежде чем переключиться на Delayed :: Job.enqueue вместо:

after_save do |image|
  image.send_later(:process_images)
end

Вы также можете попробовать:

after_save :cue_process_images

def cue_process_images
  send_later(:process_images)
end

В настоящее время я использую что-то похожее на последнее, использую скрепку, и она отлично работает.

...