[Twisted-Python] Re: Twisted-Python Digest, Vol 48, Issue 41

Hi Don: [Don quote] Thanks to all the good folks who replied to this; good stuff to chew on. I particularly liked glyph's advice on when and where to use the inline callback style, and when/where to avoid it. I think I'll continue along the path I described, at least for a while. I may be back with more on this topic. ~ I saw your post but didn't have time to respond earlier.... I second Glyph's advice concerning inlineCallbacks.... I am building a WS-BPEL processor. WS-BPEL is about business logic and exotic message exchange patterns. I gave a talk at PyCon 2008 called "Adventures in Stackless Python Twisted Integration." My strategy is to separate the business logic as much as possible from the underlying networking. At the lower levels, I use Stackless Python in conjunction with Twisted. A side-effect of this approach is that I can block waiting for a Twisted call to finish. Right now, I am simplifying one of my prototypes so I can post it as a full-blown example of all the techniques I use. Give me a few days. To add to what others have said, the main problem I have encountered boil down to identifying classic concurrency problems. Unfortunately APIs and transitivity obscure bugs. I know this sounds obvious but no matter which concurrency model you use: event, pre-emptive threads, cooperate, you really have to understand how problems like say, deadlock and race conditions manifest themselves and take precautions. In the narrow field of Stackless and Twisted, I am trying to map out what those precautions are. Cheers, Andrew ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

Andrew Francis wrote:
Andrew, thanks for the reply. I saw a message about your work, and have bookmarked your "Adventures" blog.
My strategy is to separate the business logic as much as possible from the underlying networking.
My goal exactly, and my concern is with how to do that while still respecting the needs of the underlying networking (and in my case, a large amount of interaction with a database).
I'll be very interested to learn more about the melding of the two paradigms. One question: I had the impression that Stackless is mostly an academic exercise, sort of a proof of concept. Is this wrong? How stable, portable, etc. is Stackless at this point? Is it a reasonable choice for a commercial application?
I'll try to be patient. 8^) Regards, -- Don Dwiggins Advanced Publishing Technology

Don Dwiggins wrote:
Well, CCP are running 40,000+ simultaneous (paying) users on a 250-CPU cluster. If you'd call that a commercial application then I guess the answer is "yes".
regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/

Andrew Francis wrote:
Andrew, thanks for the reply. I saw a message about your work, and have bookmarked your "Adventures" blog.
My strategy is to separate the business logic as much as possible from the underlying networking.
My goal exactly, and my concern is with how to do that while still respecting the needs of the underlying networking (and in my case, a large amount of interaction with a database).
I'll be very interested to learn more about the melding of the two paradigms. One question: I had the impression that Stackless is mostly an academic exercise, sort of a proof of concept. Is this wrong? How stable, portable, etc. is Stackless at this point? Is it a reasonable choice for a commercial application?
I'll try to be patient. 8^) Regards, -- Don Dwiggins Advanced Publishing Technology

Don Dwiggins wrote:
Well, CCP are running 40,000+ simultaneous (paying) users on a 250-CPU cluster. If you'd call that a commercial application then I guess the answer is "yes".
regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/
participants (3)
-
Andrew Francis
-
Don Dwiggins
-
Steve Holden