문제

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?

도움이 되었습니까?

해결책

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top