[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

[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.


Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

Stackless mailing list
Stackless at stackless.com

More information about the Stackless mailing list