[Web-SIG] Web Site Process Bus

Robert Brewer fumanchu at amor.org
Tue Jun 26 01:07:53 CEST 2007

Phillip J. Eby wrote:
> At 02:41 PM 6/25/2007 -0700, Robert Brewer wrote:
> >Phillip J. Eby wrote:
> > > Meanwhile, if you get a start call, you must be starting, 
> right?  So
> > > why worry about the state?  It'd be simpler to just use
> > > "before/during/after" messages the way Twisted does.  Your "block"
> > > example could be replaced by waiting for the "after" 
> message of the
> > > desired state, for example.
> >
> >I just realized I haven't really explained what "start" and 
> "stop" mean.
> >I think you might expect it to mean "beginning of process" 
> and "exit the
> >process". But instead, I'm envisioning a FSM that has an "idle" state
> >in-between process init/exit and "server" start/stop, so 
> that, without
> >restarting the process, you can stop and restart (un/bind the socket,
> >etc) the server components. This should also facilitate a 
> daemon parent
> >process having a single site Bus and starting/stopping child 
> processes
> >that contain the WSGI app and server components, if that's 
> the way you
> >want to compose your site.
> Now I'm really confused.  What is the idle state *for*?

One concrete use case could be a test suite that swaps out applications
between tests without exiting the entire process. But there are other
situations where it's useful. The startup script might need a chance to
run mandatory code in-between stop and exit, or a debugger might stop a
live server (stop accepting connections), run a debug session, fix the
problem, then start up again.

> This seems to imply that you need these states to exist for
> distinct components in a single process -- which would be a
> finer-grained sort of "bus" than has been discussed at this
> point, at least as far as I understand it.

That's not what I had in mind, but I wouldn't be opposed to it.

Robert Brewer
System Architect
Amor Ministries
fumanchu at amor.org

More information about the Web-SIG mailing list