Question

I have a very simple controller:

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

and a very simple worker:

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

And I keep getting "Couldn't find Poem with id=53" or smth. like that...

I tried passing just string, just integer etc.. but it also ends with ActiveRecord::RecordNotFound

what can be wrong?

Was it helpful?

Solution

So the problem was that the worker starts before the object actually gets created.

Had to install the gem that restarts failed jobs.

wrote the post about it

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top