[Stackless] Google Application Engine Thread on Stackless
andrewfr_ice at yahoo.com
Thu Mar 26 17:42:50 CET 2009
Hi Alain, Christian and Company:
--- On Mon, 3/23/09, Alain Poirier <alain.poirier at net-ng.com> wrote:
> From: Alain Poirier <alain.poirier at net-ng.com>
> Subject: Re: [Stackless] Google Application Engine Thread on Stackless
> To: "Christian Tismer" <tismer at stackless.com>
> Cc: stackless at stackless.com, "Andrew Francis" <andrewfr_ice at yahoo.com>
> Date: Monday, March 23, 2009, 5:10 PM
> Thanks Christian. But without the pickle enhancement you
> created nothing could be possible. I personally think this golden
>nugget is not known enough by the community. BTW, do you think it could be >possible ? easy ? to extrac it into an extension module to the classic >CPython ? A GSoC perhaps.
It was pickling that originally attracted me to Stackless Python. Alain, I need to look at Nagare (and Seaside) more to understand how you use pickling. However what you are doing sounds cool.
That said, at PyCon 2008, a few people after my talk, asked me about pickling. So I demoed it. I also had a really interesting conversation with some folks from Second Life.
The main thing I use pickling for is to serialize the execution state of the WS-BPEL processor and individual WS-BPEL processes. However I think pickling may also simplify something called "compensation." Compensations are based on Molina's concept of a 'saga.' A part of compensation is to take snapshots of the system and in case of an error, roll the system back to that state in order to take corrective action.
Implementing compensation will be loads of fun :-|
About why more people don't know about pickling. My answer: need. I think we still live in a HTTP-centric web where the web server in handling a request, only needs to spawn a single process, talk to at most, a single machine at the backend and a transaction that takes a few seconds is considered an eternity. This is probably good for most web based activities. So stuff like Google Application Engine is okay for most developers. I think things break down quickly once you move out of this simple paradigm.
More information about the Stackless