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