Hi Pat, I didn't realize the delta bit stays true. I suppose that is behaving correctly then. When I say the change isn't being picked up, I mean it isn't being returned in my search results. I guess my lack of knowledge of how the delayed job works is causing some confusion.
I do know that when the model is changed, the delta bit is set to true. I know that DelayedJob is working for the majority of my models except for this one. So it seems like something is going wrong when it comes to processing the job for this model. Couple of questions that might help me debug: 1. How is a job actually assigned? Is it solely off the delta bit? If so, how does DelayedJob know if I make multiple changes to the same model before re-indexing? i.e. I change the model at 11:00, and the delta bit goes to true. DelayedJob picks it up, and now the change is returned in my search results. Since the delta bit doesn't go to false. If I make a change at 12:00, how does DelayedJob know to pick up this change as well? 2. Are there any logs specific to delta indexing that I can look at? Thanks. On Mar 2, 10:26 pm, Pat Allan <[email protected]> wrote: > Hmm - the delta flag should stay true even after the delta indexing jobs run > - they stay true until the next time all indices are processed. > > When you say that the process isn't picking up changes on certain models - is > a job being added to the queue, and the job does nothing? Or is there no job? > Or something else? :) > > -- > Pat > > On 01/03/2011, at 2:30 PM, gmoniey wrote: > > > > > > > > > I'm seeing some weird behavior with DelayedJob, and I can't quite > > explain it. For some reason the delayed job process is not picking up > > delta changes on certain models. The delta bit is being correctly set > > across the board, but it stays true (1) for a specific model. The only > > way to fix this is to rebuild the indexes. > > > My define index looks like: > > > define_index do > > indexes :first_name, :sortable => true > > indexes :last_name, :sortable => true > > indexes :email, :sortable => true > > > has :deleted, :owner_id, :phone, :title > > has 'CRC32(owner_table)', :as => :owner_table, :type => :integer > > set_property :delta => :delayed > > set_property :field_weights => {:first_name => 10, :last_name => > > 7, :email => 5 } > > end > > > My delayed job worker looks like: > > > #!/usr/bin/env ruby > > require 'rubygems' > > require 'daemon-spawn' > > > WORKING_DIR = File.expand_path(File.join(File.dirname(__FILE__), > > '../../..')) > > PID_FILE = File.join("/u/apps/test/shared/pids/", "delayed_job.pid") > > > class DelayedJobWorker < DaemonSpawn::Base > > def start(args) > > ENV['RAILS_ENV'] ||= args.first || 'development' > > Dir.chdir WORKING_DIR > > require File.join('config', 'environment') > > > Delayed::Worker.new.start > > end > > > def stop > > system("kill `cat #{PID_FILE}`") > > end > > end > > > DelayedJobWorker.spawn!(:log_file => File.join("/u/apps/test/shared/ > > log/", "delayed_job.log"), > > :pid_file => PID_FILE, > > :working_dir => WORKING_DIR, > > :app_name => 'delayed_job', > > :sync_log => true, > > :singleton => true, > > :timeout => 5) > > > and my sphinx.yml looks like: > > > production: > > version: 0.9.9 > > mem_limit: 256M > > enable_star: 1 > > min_infix_len: 1 > > morphology: stem_en > > charset_table: "0..9, A..Z->a..z,a..z, _, -, /, @, !, $, %, ^, &, > > (, ), +, `, ~, #" > > bin_path: "/usr/local/bin" > > config_file: "/u/apps/test/shared/config/production.sphinx.conf" > > searchd_file_path: "/u/apps/test/shared/system/sphinx" > > searchd_log_file: "/u/apps/test/shared/log/searchd.log" > > query_log_file: "/u/apps/test/shared/log/searchd.query.log" > > pid_file: "/u/apps/test/shared/pids/searchd.pid" > > > All the logs look fine, and I'm not sure whats going on. Any ideas on > > why this table is not being queried? > > > Thanks. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Thinking Sphinx" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group > > athttp://groups.google.com/group/thinking-sphinx?hl=en. -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.
