[Twisted-Python] Advice sought on application evolution

Maarten ter Huurne maarten at treewalker.org
Fri Mar 21 19:51:30 EDT 2008


On Friday 21 March 2008, Don Dwiggins wrote:

> @defer.inlineCallbacks
> def frobulate():
>     step_1()
>     step_2()
>     step3Rslt = yield step_3_async()
>     step_4()
>     step_5()
>     returnValue(result5)
>
> This is looking a lot better, but still the asynchrony of step_3 "shows
> through".  (Again, I'm taking the viewpoint of someone trying to
> understand, maintain, and extend the functionality of the application,
> without having the asynchronous aspects "thrust in his face" more than
> absolutely necessary.)
>
> Of course, I can avoid all this by going to a threading or separate
> process solution, but I'd like to find out if I'm missing something
> before I make such a commitment.

If you're going to put the business logic in a separate process, you can use 
Twisted in the central dispatch process and the programmer of a business 
logic module does not even have to know.

If you're going to use a single process, then you will need some mechanism 
to run business logic concurrently. No matter whether you choose threaded 
or asynchronous, you will not be able to hide your choice from the business 
logic programmer.

Bye,
		Maarten
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part.
Url : http://twistedmatrix.com/pipermail/twisted-python/attachments/20080322/96f81dc4/attachment.pgp 


More information about the Twisted-Python mailing list