2012-08-17 11 views
5

kod çalışmıyor Gecikmeli bunları işliyoruz gecikmiş işler ve delayed_jobs tablodaki verme kuyruğunda ve işçilerle iyi çalışıyor, ama yine de biz nesneyiDelta İndeksleme - İşler

burada

yok etmek istisna alıyorsanız iz

olduğunu
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' 

Gecikmiş iş deltası eklendiğinde sorun o zaman neden sfenks düşüncesini vurmaya çalışıyor? İşte

endeks blok tanımlamak olduğu

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 

cevap

2

Ne Buradaki Düşünme Sfenks nesne silinmiş olarak işaretleyerek önce Sfenks var olup olmadığını kontrol olmasıdır oluyor - ve bunu yapmanın tek yolu ona aramak içindir . Yine de, Sfenks'ten gelen hataları yakalama (ve görmezden gelme) gerektiren Thinking Sphinx'in içine yerleştirilmiş bazı hata işlemleri vardır, bu yüzden istisnaların neden kaldırıldığını görmek konusunda biraz emin değilim.

Yığın izinden önce görünen hata açıklamasını paylaşabilir misiniz? Ayrıca, bu Gecikmeli İş ile ilgisi yoktur.