Rails resque: запись не найдена при передаче переменной от контроллера к работнику - PullRequest
1 голос
/ 18 февраля 2012

У меня очень простой контроллер:

def create
  @poem = Poem.new(params[:poem])
  @poem.prose = @poem.content
   @poem.save
   Resque.enqueue(PoemWork, @poem.id)
 ....

и очень простой работник:

class PoemWork
 @queue = :poem_queue
 def self.perform(poem_id)
  @poem = Poem.find(poem_id)
  txt = @poem.content
  #do stuff here 
  @poem.save
 end
end

И я продолжаю получать «Не удалось найти стихотворение с id = 53» иличто-л.вот так ...

Я пытался передать только строку, просто целое число и т. д., но это также заканчивается ActiveRecord :: RecordNotFound

что может быть не так?

1 Ответ

0 голосов
/ 02 марта 2012

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

Пришлось установить гем, который перезапускает неудачные задания.

написал пост об этом

...