On 01/24/2010 09:06 AM, Craig Andrews wrote:
I see that Brion added the concept of queue groups in this commit:
http://gitorious.org/statusnet/mainline/commit/0e852def6ae5aa529cca0aef1187152fb5a880be

Queue groups are pretty neat, and I'd like to see the concept extended to
iomanagers, too. I suggest IoMaster gets a "connect($class, $group)"
function that is used from the StartQueueDaemonIoManagers event (instead
of simply appending the iomanager class to an array) in the same style as
the StartInitializeQueueManager event. Then IoMaster considers active
groups the same way QueueManager does.

This sounds great!

I also think QueueManager and IoMaster should be able to each handle
multiple active groups, instead of one. The command line daemon that
starts them should have a parameter that specifies a list of groups this
daemon should handle (or a way to specify that it should handle all of
them). For the simple, most common case of a small StatusNet server, the
admin would simply run (for example) "startdaemon.sh --all" then, when
their load increases and they need to separate out IMAP processing, then
would run "startdaemon.sh --all --except imap" on one server, then
"startdaemon.sh imap" on another, and they can keep separating out groups
as they scale the site.

I really like this; it brings a flexibility that could be very useful for breaking out particular sorts of load at scale, while more immediately being applicable to separation of concerns (eg a cleaner implementation for the partial code duplication still in queuedaemon.php and xmppdaemon.php)

-- brion
_______________________________________________
StatusNet-dev mailing list
StatusNet-dev@lists.status.net
http://lists.status.net/mailman/listinfo/statusnet-dev

Reply via email to