Pregunta

Tengo un controlador muy simple:

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

y un trabajador muy simple:

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

Y sigo recibiendo "No se pudo encontrar el poema con id= 53" o algo.así ...

Intenté pasar solo una cadena, solo un entero, etc. pero también termina con ActiveRecord :: RecordNotFound

¿Qué puede estar mal?

¿Fue útil?

Solución

Entonces, el problema fue que el trabajador comienza antes de que se cree realmente el objeto.

Tuve que instalar la gema que reinicia los trabajos fallidos.

escribió la publicación al respecto

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top