Hi Lars, stacklessio is internal ccp stuff.
main.py in stacklesslib is pretty much all you need to understand, beyond calling patch_all(). It is a scheduler, and makes your Open scheduler redundant. I suggest you get the latest stacklessio from: https://bitbucket.org/krisvale/stacklesslib And then you check out test / teststdlibunittests.py, which is a short example of monkey patching and running the stacklesslib scheduler. Cheers, Richard. On 12/1/13, lars van Gemerden <[email protected]> wrote: > sorry, > > patch_all seemed to simple, question was a bit rethoric ;-) tried it 2 mins > after pressing send just in case and indeed no cigar. > > I am trying to get this demo running and all kinds of last minute #### is > popping up. > > I tried reading the source but it doesn't click; i am not familiar with > using sockets etc. at all. > > e.g. > > - do i need 'stacklessio'? > - can i (essentially) just put a stackless.schedule() (or > OpenTasklets.schedule() in the code below) in the serve_forever loop? > - will this work at all with an adapted scheduler like this: > > class OpenTasklets(object): > > _stop = False > > @classmethod > def run(cls, maxcount = None): > cls.schedule_channel = stackless.channel() > cls.schedule_channel.preference = 1 > counter = 0 > OpenTasklets._stop = False > while stackless.getruncount() != 1: > stackless.run() > cls.reschedule(cls._stop or (maxcount and counter > maxcount)) > counter += 1 > > @classmethod > def schedule(cls): > if cls.schedule_channel.receive(): > raise TaskletExit > > @classmethod > def reschedule(cls, stop = False): > while cls.schedule_channel.balance < 0: > cls.schedule_channel.send(stop) > > Any help is appreciated .. > > Lars > > > > > On Sat, Nov 30, 2013 at 8:53 PM, Richard Tew > <[email protected]>wrote: > >> Lars :-) >> >> Yes, there is no documentation for stacklesslib yet. To use it, you >> really need to be willing to read the source code. >> >> You should already know whether calling patch_all would be enough. It >> would have been something you could have tried immediately, rather >> than asking the list and waiting. >> >> Cheers, >> Richard. >> >> On 11/30/13, lars van Gemerden <[email protected]> wrote: >> > Hi all, >> > >> > I though i could avoid it to run my demo but it seems i need to let the >> > webserver (simple server?, single thread, 'bottle' micro framework) >> > yield >> > to the scheduler i am using. I have downloaded stacklesslib 1.0.3, but >> > can't find any documentation to help with monkeypatching. >> > >> > - Do i just run patch_all at the start of the program? >> > >> > Any help is very welcome .. >> > >> > Cheers, Lars >> > >> > -- >> > ==================================== >> > Lars van Gemerden >> > [email protected] >> > +31 6 26 88 55 39 >> > ==================================== >> > >> >> _______________________________________________ >> Stackless mailing list >> [email protected] >> http://www.stackless.com/mailman/listinfo/stackless >> > > > > -- > ==================================== > Lars van Gemerden > [email protected] > +31 6 26 88 55 39 > ==================================== > _______________________________________________ Stackless mailing list [email protected] http://www.stackless.com/mailman/listinfo/stackless
