2012-08-17 2 views
5

コードを動作していない遅延はdelayed_jobsテーブルに遅れジョブとそのメイキングキューに正常に動作していると労働者がそれらを処理しているが、それでも私たちはここにオブジェクトデルタインデックス - ジョブが

を破壊する上での例外を取得しているトレース

です
vendor/bundle/ruby/1.9.1/gems/riddle-1.5.1/lib/riddle/client.rb:639:in `recv' 
vendor/bundle/ruby/1.9.1/gems/riddle-1.5.1/lib/riddle/client.rb:639:in `block in request' 
vendor/bundle/ruby/1.9.1/gems/riddle-1.5.1/lib/riddle/client.rb:538:in `connect' 
vendor/bundle/ruby/1.9.1/gems/riddle-1.5.1/lib/riddle/client.rb:623:in `request' 
vendor/bundle/ruby/1.9.1/gems/riddle-1.5.1/lib/riddle/client.rb:226:in `run' 
vendor/bundle/ruby/1.9.1/gems/riddle-1.5.1/lib/riddle/client.rb:338:in `query' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/search.rb:414:in `block (2 levels) in populate' 
vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/notifications.rb:123:in `block in instrument' 
vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/notifications/instrumenter.rb:20:in `instrument' 
vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/notifications.rb:123:in `instrument' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/search.rb:518:in `log' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/search.rb:527:in `log' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/search.rb:413:in `block in populate' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/search.rb:568:in `call' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/search.rb:568:in `retry_on_stale_index' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/search.rb:411:in `populate' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/search.rb:176:in `method_missing' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/search_methods.rb:395:in `search_for_id' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/active_record.rb:268:in `delete_in_index' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/active_record.rb:348:in `block in toggle_deleted' 
vendor/bundle/ruby/1.9.1/gems/thinking-sphinx-2.0.10/lib/thinking_sphinx/active_record.rb:34 
. 
. 
. 
app/controllers/received_messages_controller.rb:142:in `destroy' 

遅延ジョブデルタが追加されたときに、その理由がスフィンクスを直接考えているのはなぜですか?そしてそれを行うための唯一の方法は、それを検索するためにある - ここで

は、ここでは何が起こっているインデックス圏

define_index do 
    if Rails.env.production? 
     set_property :delta => FlyingSphinx::DelayedDelta 
    else 
     set_property :delta => true 
    end 

    indexes message.subject 

    has user_id, read, created_at 

    where "users_user_messages.is_active = 'Y'" 

    end 

答えて

2

を定義が考えるスフィンクスは、オブジェクトが削除されたとして、それをマークする前に、スフィンクスに存在するかどうかをチェックしているということです。思考型スフィンクスにはいくつかのエラー処理が組み込まれていますが、それはスフィンクスのエラーを捕捉(無視)する必要があるため、なぜ例外が発生しているのかが分かりません。

スタックトレースの前に表示されるエラーの説明を共有できますか?

また、これは遅延ジョブとは無関係です。

関連する問題