2012-02-17 10 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」を取得しておきますid = 53 "の詩、またはsmthを見つける。そのように...

私はちょうど、整数など、単なる文字列を渡してみました..しかし、それはまた間違っている可能性が何のActiveRecord ::

RecordNotFound

で終わりますか?

+1

ですか? –

+0

ええと...どうすれば確認できますか?私はresqueを使用する2つのアプリケーションを持っていて、それらのために異なるredistogo dbsを使用しています(resque.rbでそれらを定義しています)...これはlocalhost上のエラーです。リモートでまだテストしていません – Stpn

+0

あなたの労働者を動かす。 Railsを開発モードでローカルに実行していますか? –

答えて

0

問題は、オブジェクトが実際に作成される前に作業者が開始することでした。

失敗したジョブを再起動する宝石をインストールしなければなりませんでした。 Webサーバのプロセスと同じデータベースに接続するバックグラウンドワーカープロセスが

wrote the post about it

+0

リンクが機能しなくなりました。更新してください –

関連する問題