I made a little demo of Stackless Zope.
It is just a quick hack to see how things
can work. The example is a long-running
Python method which "prints" lines to the
browser.
The key to this surprizing solution is
tasklets, channels, and thread pickling.
Let me know your thoughts...
http://www.centera.de/tismer/stackless/zope_demo
--
Christian Tismer :^) <mailto:tis...@tismer.com>
Mission Impossible 5oftware : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a : *Starship* http://starship.python.net/
14109 Berlin : PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34 home +49 30 802 86 56 mobile +49 173 24 18 776
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
whom do you want to sponsor today? http://www.stackless.com/
> Let me know your thoughts...
>
> http://www.centera.de/tismer/stackless/zope_demo
Seems to work only of I allow the site to set
a cookie and thus retrieve a session. But if so
doing the same thing the old fashioned way is
also very simple.
Istvan.
your lack of imagination is rather stunning.
</F>
Does this mean we can implement a Seaside(smalltalk) like application server ?
How cool is that.
Regards,
Huy
The link
http://www.centera.de/tismer/stackless/zope_demo/download_pickle/zope_demo.pickle
sometimes gets a runtime error:
Zope has encountered an error while publishing this resource.
Error Type: RuntimeError
Error Value: You cannot __reduce__ the tasklet which is current.
Also I think you should make the demo go from 1 to 5 instead of 10, so
there's not so much button pushing.
Finally, as a non-Zope and non-Stackless user, I find the source code
incomprehensible. It would be much simpler in a conventional web
framework, especially if you can put a generator into a session
variable. Generator pickling would help with that, of course.
http://www.centera.de/tismer/stackless/zope_demo
Please check the above URL again, I changed it a little,
to fit on smaller screens.
> Does this mean we can implement a Seaside(smalltalk) like application server ?
> How cool is that.
Oh yes (just looked into Seaside), I think it is very
much like that.
You can write one single program that deals with different
input of the user until his data form is filled correctly,
for instance.
It needs some design work to make the necessary framework
and to have a standard way to do this, but technically
it is solved.
If you have proposals, let me know.
ciao - chris