[Stackless] XML-RPC Library
frederick.ryckbosch at ugent.be
frederick.ryckbosch at ugent.be
Mon Aug 31 09:36:32 CEST 2009
It is indeed a problem in concurrence... If I use the stackless api in
stead of the concurrence library, it does work.
Thanks for the help !
Frederick
Quoting Richard Tew <richard.m.tew at gmail.com>:
> 2009/8/29 <frederick.ryckbosch at ugent.be>:
>> Thanks for the suggestions !
>>
>> I tried the stacklesssocket solution using the below code, with a
>> 'wait-service': this service waits 10 seconds and then returns RESULT.
>>
>> ====
>> from concurrence import Tasklet, dispatch
>> import xmlrpclib, stacklesssocket
>>
>> stacklesssocket.install()
>>
>> def xml_rpc_call():
>> connection = xmlrpclib.ServerProxy('http://127.0.0.1:8888/')
>> print connection.test_service.wait()
>>
>> def dots():
>> while True:
>> print "."
>> Tasklet.sleep(1)
>>
>> def main():
>> Tasklet.new(xml_rpc_call)()
>> Tasklet.new(dots)()
>>
>>
>> dispatch(main)
>> ====
>>
>> There is an odd thing about this: when I remove stacklesssocket.install(),
>> the output is:
>> RESULT
>> .
>> .
>> and so on. With the stacklesssocket.install(), the output is:
>> .
>> RESULT
>> .
>> and so on. The stacklesssocket seems to be nonblocking, as the dots tasklet
>> can print the dot once. The dots tasklet does a sleep and then the xml-rpc
>> tasklet is in control, this time however, it blocks...
>>
>> Anybody an idea about what's wrong ?
>
> You might be best to ask on the Concurrence mailing list. I have no
> idea what that does for sockets and how combining it with Stackless
> and the replacement socket module would do.
>
> Richard.
>
More information about the Stackless
mailing list