Rails resque:将变量从控制器传递给worker时未找到记录

时间:2012-02-17 21:01:20

标签: ruby-on-rails ruby background-process resque

我有一个非常简单的控制器:

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

和一个非常简单的工人:

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

我一直得到“找不到id = 53的诗”或者说smth。那样......

我试过传递只是字符串,只是整数等...但它也以ActiveRecord :: RecordNotFound结束

什么可能是错的?

1 个答案:

答案 0 :(得分:0)

所以问题是工作人员在实际创建对象之前就开始了。

必须安装重启失败作业的gem。

wrote the post about it