I've been able to answer my own question by snooping around the code. It appears that the DJ code is populated after the AR object is saved.
I've added numerous print statements, and I can see that the 'Deliberately blank' after_commit() method is called after save() is called in vendor/after_commit/lib/after_commit/active_record.rb. I should have mentioned that my save() call is coming from outside of rails, but still uses AR. I setup a test controller in Rails, and I can now see an attempt to insert into the DJ table. I suspect my use case is outside the use case under which this was developed. Is there an easy way to trigger this after the save() is called that doesn't use all of the after_commit magic? Thanks, -Chris On Jun 29, 10:35 am, cera <[email protected]> wrote: > Hi Pat, > > Thanks for the response. > > I'm using rails 2.1.0, and and ts version 1.1.22 installed as a > plugin. I'm running in the cygwin environment for development, which > I suppose could be a problem. > > I don't have any after_* callbacks that I know of, but I'll double- > check into this. > > I'd like to understand who/what inserts into the delayed_jobs table. > Is it rails after the model gets saved, or is it the separate > delayed_delta task? > > I'm going to start poking around the TS code to get a better > understanding of how it works. Thanks, -Chris > > On Jun 28, 1:35 am, Pat Allan <[email protected]> wrote: > > > Hi Chris > > > What you've described all sounds correct. I'm not quite sure what's > > going wrong - there should be jobs appearing in the delayed_jobs > > table. Are there any after_* callbacks on your model? (Although, > > wouldn't think that'd change anything, but I'm not sure how to proceed). > > > What versions of Rails and Thinking Sphinx are you using? > > > -- > > Pat > > > On 25/06/2009, at 10:34 AM, cera wrote: > > > > Hi everyone, > > > > I'm trying to setup delta indexing using the Delayed Job method > > > discussed in the documentation. I believe I've done everything > > > mentioned in the documentation, but my indexes never get updated > > > automatically. I believe my problem is a lack of understanding the > > > workflow and how this interaction is supposed to work. > > > > I have two processes running: first is the ts:start task, and in > > > another terminal the ts:dd. I have a 'delta' column in my model, and > > > these records get saved through ActiveRecord. When they are saved, > > > the delta column is set to 1. I don't understand what triggers the > > > indexing to happen, and my delayed_jobs table doesn't contain any > > > rows. > > > > Could someone please tell me what is supposed to happen next, or what > > > I am missing? > > > > I have the following in my model: > > > > class Phrase < ActiveRecord::Base > > > belongs_to :document > > > > define_index do > > > indexes text > > > set_property :delta => :delayed > > > end > > > end > > > > I appreciate any help. Thank you, -Chris --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
