Hi Tom, How do you pass data between the parent and its children with multiprocessing? It worked fine with Twisted in debug but never in prod :(
Best Nicolas On Wed, Jan 18, 2012 at 6:39 PM, Tom Sheffler <tom.sheff...@gmail.com>wrote: > We are using Py2.6's multiprocessing with Twisted and things are working > nicely. I thought I'd pass on something that seems to work pretty well. > Comments welcome. > > I am using multiprocessing to spawn long-running worker processes as > children of Twisted. When Twisted is killed, I want the children to be > unceremoniously killed as well. I looked into signal handlers, but > creating a service that kills the child processes ended up being simpler > and is working well with twistd daemonization. > > class MultiprocessingStopService(Service): > > def stopService(self): > import multiprocessing > for p in multiprocessing.active_children(): > p.terminate() > Service.stopService(self) > > and in my main service maker: > > s = MultiService() > stopper = MultiprocessingStopService() > stopper.setServiceParent(s) > > Perhaps this will be helpful to someone. > > -T > > > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > >
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python