2012-02-17 49 views
1

時未發現記錄我有一個非常簡單的控制器:Rails的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 

而且我不斷收到「Couldn」 t找到id = 53「或不適用的詩。這樣的...

我試過路過只是字符串,只是整等。但它也用ActiveRecord :: RecordNotFound

結束還有什麼能錯了嗎?

+1

是連接到同一個數據庫作爲web服務器進程你的背景工作進程? – 2012-02-17 21:11:19

+0

嗯......我該如何檢查?我有兩個使用resque的應用程序,我使用不同的redistogo dbs(在resque.rb中定義它們)...此外,這是localhost上的錯誤,尚未遠程測試它 – Stpn 2012-02-17 21:18:09

+0

提供您正在使用的確切命令運行你的工人。你是否在開發模式下本地運行Rails? – 2012-02-17 21:19:02

回答

0

所以問題在於工人在實際創建對象之前啓動。

必須安裝重新啓動失敗作業的gem。

wrote the post about it

+0

鏈接不再有效。請更新 – 2014-12-20 02:12:09

相關問題