Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [13:14] <bobmcw> morning!
- [13:16] <bobmcw> jc3: getting rid of app/tasks/*_task.rb ?
- <jc3> if possible
- <bobmcw> just app/tasks/**.rb?
- <jc3> or lib/ or models/ or wherever
- <bobmcw> how do we know what classes to set up queues for?
- <bobmcw> at deploy time
- <bobmcw> and MessageListeners, etc?
- [13:17] <bobmcw> messaging.yml is sufficient?
- <jc3> handle_asynchronously would do that at runtime.
- <jc3> no messaging.yml is required
- <bobmcw> I'm confused then
- <bobmcw> what runtime is executing to set this stuff up?
- [13:18] <bobmcw> something in config/initializers/ ?
- *** tcrawley (~tcrawley@adsl-250-176-43.ard.bellsouth.net) has quit:
- Remote host closed the connection
- <bobmcw> * N Ruby in M pools on Z nodes of a cluster?
- <jc3> you could do it in an initializer, or whenever a model class is
- loaded. the latter is the DelayedJob use case we're targeting.
- [13:19] <bobmcw> so, queues are emphemeral, only popping into existance when
- needed?
- <jc3> i'm making the assumption that Queue.new().start clusters.
- <jc3> bobmcw: correct
- <bobmcw> only for tasks, or adjusting MessageProcessors also?
- <jc3> only for tasks to start
- [13:20] <bobmcw> 'k
- <bobmcw> definitely going to want a walk-thru on this once it's wired
- up some
- [13:21] <jc3> sure. it's kinda all theory in my head "it *should* work" atm
- anyway. :)
- <bobmcw> I'm just concerned about runtime init of "global"-ish things,
- when we have N Rubys running initializers
- [13:22] <bobmcw> if it works, glorious
- <jc3> i'm too ignorant to share your concern about that. :)
- <bobmcw> also, concerns about do we want the Web RuntimePool doing the
- same init as the Messaging RuntimePool and the Jobs
- RuntimePool
- [13:23] <bobmcw> not just the multiplicity perhaps within a single pool
- [13:24] <jc3> i need to understand those concerns.
- <bobmcw> you know we have a handful of RubyRuntimePools
- <bobmcw> each backed by the same RubyRuntimeFactory, which has an impl
- of RubyRuntimeInitilizer
- [13:25] <bobmcw> which is what deals with config.ru or config/boot.rb, to
- bootstrap a bare Ruby into an app-specific environment
- <bobmcw> each pool normally gets at least 1 fresh, initialized Ruby
- from the Factory
- <bobmcw> each one having executeScript("config/boot.rb" )
- <bobmcw> thence config/initializers/**.rb
- <bobmcw> every Ruby produced by the factory runs that code
- <bobmcw> at least one per pool, possibly more, if we have a min/max
- pool
- [13:26] <bobmcw> if we have a min/max pool, "possibly more" could also be
- "possibly much later"
- <bobmcw> if it takes us hours to saturate the min of the pool, and
- need to fill it up some
- <bobmcw> so, config/initializers/delayed_stuff.rb could execute N
- times, over a long stretch of time, within a single app
- deployment
- [13:27] <bobmcw> only once per Ruby, but we have a lot of Ruby
- <bobmcw> bbrowning: didja figure out your mvn query?
- <jc3> i think Queue.start is idempotent
- <bbrowning> bobmcw: yeah mvn's doing what I want
- <bbrowning> answer was to add another pom
- <bbrowning> surplus is down to +2
- <bobmcw> do we ever subsequently stop() the queue?
- <jc3> bobmcw: no. :)
- <jc3> but i'm ok with that.
- <bobmcw> okay, that helps :)
- [13:28] <bobmcw> else, we get into ref-counting of start/stop
- <jc3> right
- <bobmcw> semaphore!
- <bobmcw> okay, so those my thoughts
- [13:29] <jc3> i say we see what toby comes up with.
- <bobmcw> absolutely
- *** tcrawley (~tcrawley@adsl-250-176-43.ard.bellsouth.net) has joined
- channel #torquebox
- [13:30] <bobmcw> jc3: I understand your concerns, but I say we should just let
- him work on it.
- <bobmcw> jeez
- [13:31] <bobmcw> oh, hi tcrawley!
- * bobmcw looks casual
- <jc3> bobmcw: you're a dork
- <bobmcw> I learned it from watching you
Add Comment
Please, Sign In to add comment