All the records are duplicated not only the impacted once. Every record is returned twice. Temporary I tried to group them by column id using group_by option but still they are returned twice. Below are the version of gems and the program. Gem vesrions: thinking-sphinx (3.1.4) Rails 4.2.5 ruby 2.2.2p95
Program version: Sphinx 2.2.10-id64-release - Pratik On Tuesday, 5 July 2016 18:06:57 UTC+5:30, Pat Allan wrote: > > You’re right, update_all doesn’t fire callbacks, and given you’re not > using the status column in your index, that shouldn’t be a problem. > > The duplicate records is an odd thing though. Are you finding _every_ > result is duplicated? Only ones impacted by the cron job? Or are other > records duplicated as well? > > Also: which version of Thinking Sphinx are you using? > > — > Pat > > On 5 Jul 2016, at 9:20 PM, pratik ganvir <[email protected] > <javascript:>> wrote: > > Hi Pat, > > Thanks for the reply. Here is my index definition. > > ThinkingSphinx::Index.define :text_message, :with => :real_time do > has contact_group_id, type: :integer > has user_id, type: :integer > has id, :as => :sms_id, type: :integer > has sms_campeign_id, :as => :sms_campeign_id, type: :integer > has delivery_schedule, :type => :timestamp, :sortable => true > has created_at, :type => :timestamp, :sortable => true > end > > I am suing update_all method in my cron which surely doesn't fire > callbacks. > Here is the cron method that does that. > > def self.update_system_errors > sms = Sms.where('status not in (?) and (created_at between ? and ?) and > job_id in > (?)',[10,11],DateTime.now.beginning_of_day,DateTime.now.end_of_day,["Daily > Message Limit Reached"]) > sms.update_all('status = 10') > sms = Sms.where('status not in (?) and (created_at between ? and ?) > and job_id in > (?)',[10,11],DateTime.now.beginning_of_day,DateTime.now.end_of_day,["Sender > ID Does not Exist or Pending or Route Invalid!","No Sufficient Credits""]) > sms.update_all('status = 11') > end > > Thanks, > Pratik Ganvir > > On Sunday, 3 July 2016 16:46:43 UTC+5:30, Pat Allan wrote: >> >> Hi Pratik >> >> Can you share your index definition? Also, how are you updating the >> TextMessage records via your cron process? Is it in a manner that will fire >> ActiveRecord callbacks? And is this the only model you have with a Sphinx >> index? >> >> Cheers >> >> — >> Pat >> >> On 2 Jul 2016, at 1:45 PM, pratik ganvir <[email protected]> wrote: >> >> Hi, >> >> So I have a model called TextMessage which has attributes id and user_id. >> I am using real time indices. >> There is one cron process that updates the status field of TextMessage >> records. When it does that, following query returns 2 records for each >> database record. >> >> TextMessage.search(with: {user_id: current_user.id},order: 'created_at >> desc',page: params[:page], per_page: 10 ) >> >> When I rebuild the index then everything goes fine. But considering the >> fact that I am using realtime indices I do not want to rebuild indexes >> everytime. >> >> Please help me to get through this. >> >> Thanks and regards, >> Pratik >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Thinking Sphinx" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/thinking-sphinx. >> For more options, visit https://groups.google.com/d/optout. >> >> >> > -- > You received this message because you are subscribed to the Google Groups > "Thinking Sphinx" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To post to this group, send email to [email protected] > <javascript:>. > Visit this group at https://groups.google.com/group/thinking-sphinx. > For more options, visit https://groups.google.com/d/optout. > > > -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/thinking-sphinx. For more options, visit https://groups.google.com/d/optout.
