"We’re a lot further down this particular inflection curve than most, I think. We make heavy use of Twisted, a single-threaded cooperatively multitasking network programming system that specifically addresses the threading problem."

They went on to mention that it doesn't seem like a complete solution. I'd love to hear their comments on where they find it lacking, what they'd like to see supported -- either specific features or general thoughts on the future of computing in the consulting industry.

Imitation and Flattery

Ruby has something called EventMachine and was described as implementing the "Twisted-introduced" deferred pattern in a nutrun post.

Mashed and Twisted?

Twisted and Nevow made a mashup list on InnovationStartups' blog of 120+ Web Development Resources. Also on the list were launchpad, rBuilder, Ohloh, Ruby on Rails, MochiKit, Django and Zope.

Bruce Eckle talks about Concurrency with Python, Twisted, and Flex in his Artima Developer post, where he also mentions PyAMF (which I helped update the Twisted docs for :-)). Bruce takes a quick look at asynchronous programming, object brokering with Twisted, and XML-RPC. I wish he'd used twisted.application.service instead of running the reactor directly, but hey -- it's a great Twisted post about stuff that lots of people are using right now :-)

New Users

Paul Stevens blogged about setting up Twistedon his mac. He's now off to the races :-) Good luck, Paul! Be sure to stop by IRC and/or post messages on the mail list with questions...

Apologies for the lateness of this reply! I didn't see your comment until just now.

Making direct use of the reactor is generally discouraged. twisted.application manages pretty much everything you need to run a twisted daemon with twistd, thus alleviating the developer of having to reinvent the wheel, discover that they have mismanaged something, etc. There is a great deal of work that has been put into this part of twisted that essentially encodes best practices for management of the application at the reactor level.

please don't be sorry for the delay! It was ten times faster than most support services.

Thanks for the answer. But from my point of view, it's sometimes more practical to do not use twistd and just start reactor.run() in the script. This way, for simple scripts (not necessarily a daemon), you only have one script that you call directly. To me, it seems more natural (and I first learn to do it that way in the Twisted tutorials!).

But I'm ready to switch to twistd if you can explain me what is "everything I need to run a twisted daemon".