Frage

Ich habe einen sehr einfachen Controller:

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

und ein sehr einfacher Arbeiter:

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

Und ich bekomme immer wieder "Gedicht mit id= 53 konnte nicht gefunden werden" oder etw.so ...

Ich habe versucht, nur einen String, nur eine Ganzzahl usw. zu übergeben, aber es endet auch mit ActiveRecord :: RecordNotFound

Was kann falsch sein?

War es hilfreich?

Lösung

Das Problem war also, dass der Worker startet, bevor das Objekt tatsächlich erstellt wird.

Musste das Juwel installieren, das fehlgeschlagene Jobs neu startet.

hat den Beitrag darüber geschrieben

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top