[Stackless] pause execusion of tasklet using remove()

Andrew Francis andrewfr_ice at yahoo.com
Fri Oct 13 21:47:33 CEST 2006


Hi Jim:

>Hi, I have a situation that 1,000,000 tasklets are
>making frequent calls to  remote servers and waiting
>for reply. Each tasket is waiting for its own  
>reply.  These tasklets are also created and removed
>frequently.

[lines deleted]

>Please let me know I went to the  wrong path because
>of misunderstanding.

I don't know if this helps you but some observations -

I am prototyping a WS-BPEL processor with Stackless
Python. So far things are going well. I have a similar
situation in that I have many tasklets (not a million
though) sending and processing web service requests. I
have the tasklets wait on channels. I also use Twisted
as the underlying networking framework.

>When looking at the remove() api,  I saw the
following >warning message about it:

>  remove(...)
>       Removing a tasklet from the runnables queue.
>      Note: If this tasklet has a non-trivial C stack
 

I found too much work needed to be done with insert()
and remove(). I suspect you have to give each tasklet
some mechanism to receive incoming replies (sounds
like you will be using a dictionary). In contrast,
channels seem to be cheap resourcewise (perhaps
Richard or Christian could comment on this) and easy
to use.

Cheers,
Andrew



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

_______________________________________________
Stackless mailing list
Stackless at stackless.com
http://www.stackless.com/mailman/listinfo/stackless



More information about the Stackless mailing list