【发布时间】:2012-03-02 06:49:38
【问题描述】:
我有一个非常简单的控制器:
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 的诗”之类的消息。就这样……
我尝试只传递字符串、整数等。但它也以 ActiveRecord::RecordNotFound 结尾
有什么问题?
【问题讨论】:
-
您的后台工作进程是否连接到与 Web 服务器进程相同的数据库?
-
嗯...我该如何检查?我有两个使用 resque 的应用程序,我为它们使用了不同的 redistogo dbs(在 resque.rb 中定义它们)......这也是 localhost 上的错误,还没有远程测试过
-
提供您用来运行工作人员的确切命令。您是否在本地以开发模式运行 Rails?
-
bundle exec rake resque:work QUEUE='*' yes in development mode
标签: ruby-on-rails ruby background-process resque