[Fedora-suds-list] Connection time out

Jeff Ortel jortel at redhat.com
Fri Nov 20 17:15:42 UTC 2009



On 11/20/2009 11:05 AM, Jeff Ortel wrote:
>
>
> On 11/20/2009 10:16 AM, Jerzy Orlowski wrote:
>> OK,it works, but if you do it by
>> socket.setdefaulttimeout(self.options.timeout) than it is very nasty and
>> error prone
>
> Again, /timeout/ arg was not added to urllib2 open() methods until
> python 2.6.

Probably would be nicer to test the u2.__version__ and use the timeout on the 
urlopener.open() instead if supported.

>
>>
>> The proper code should look stk like:
>> def __open(self, u2request):
>> #socket.setdefaulttimeout(self.options.timeout)
>> if self.urlopener is None:
>> return u2.urlopen(u2request,self.options.timeout)
>> else:
>> return self.urlopener.open(u2request,self.options.timeout)
>>
>>
>>
>>
>>
>> Jeff Ortel wrote:
>>> The socket timeout was added as a suds option in 0.3.7
>>> (https://fedorahosted.org/suds/wiki/Documentation#OPTIONS). Try:
>>>
>>> client = Client(url, timeout=500)
>>>
>>>
>>> On 11/20/2009 09:44 AM, Jerzy Orlowski wrote:
>>>> changing the http.py file made it:
>>>>
>>>> def __open(self, u2request):
>>>> socket.setdefaulttimeout(self.options.timeout)
>>>> if self.urlopener is None:
>>>> return u2.urlopen(u2request)
>>>> else:
>>>> return self.urlopener.open(u2request,timeout=500)
>>>>
>>>>
>>>>
>>>> Could you, please, add
>>>> Client.settimout()
>>>>
>>>> For the the next release?
>>>>
>>>>
>>>>
>>>> Matt C wrote:
>>>>> I'm not sure if this will work for you, it may be worth a shot - see
>>>>> the 'missing manual' for urllib2, which shows you a way to set global
>>>>> socket options:
>>>>> #########################
>>>>> import socket
>>>>> import urllib2
>>>>>
>>>>> # timeout in seconds
>>>>> timeout = 10
>>>>> socket.setdefaulttimeout(timeout)
>>>>>
>>>>> # this call to urllib2.urlopen now uses the default timeout
>>>>> # we have set in the socket module
>>>>> req = urllib2.Request('http://www.voidspace.org.uk')
>>>>> response = urllib2.urlopen(req)
>>>>> ########################
>>>>>
>>>>> Something like this in your Suds script may help, and is worth a shot.
>>>>>
>>>>> Please post back if this works, and good luck!
>>>>> -Matt
>>>>>
>>>>> On Fri, Nov 20, 2009 at 10:10 AM, Jerzy Orlowski
>>>>> <jerzyo at genesilico.pl> wrote:
>>>>>> Hi
>>>>>>
>>>>>> My service takes ~5 minutes time. When I call it, I get:
>>>>>>
>>>>>> Traceback (most recent call last):
>>>>>> File "test_soap_global2.py", line 2151, in <module>
>>>>>> result=client.service.soap_create_model(INPUT_PDB, INPUT_ALIGNMENT,
>>>>>> TEMP_CHAIN_NAME, MODEL_CHAIN_NAME)
>>>>>> File "build/bdist.linux-x86_64/egg/suds/client.py", line 537, in
>>>>>> __call__
>>>>>> File "build/bdist.linux-x86_64/egg/suds/client.py", line 597, in
>>>>>> invoke
>>>>>> File "build/bdist.linux-x86_64/egg/suds/client.py", line 622, in send
>>>>>> File "build/bdist.linux-x86_64/egg/suds/transport/http.py", line
>>>>>> 85, in
>>>>>> send
>>>>>> File "build/bdist.linux-x86_64/egg/suds/transport/http.py", line
>>>>>> 107, in
>>>>>> __open
>>>>>> File "/usr/lib/python2.6/urllib2.py", line 389, in open
>>>>>> response = self._open(req, data)
>>>>>> File "/usr/lib/python2.6/urllib2.py", line 407, in _open
>>>>>> '_open', req)
>>>>>> File "/usr/lib/python2.6/urllib2.py", line 367, in _call_chain
>>>>>> result = func(*args)
>>>>>> File "/usr/lib/python2.6/urllib2.py", line 1146, in http_open
>>>>>> return self.do_open(httplib.HTTPConnection, req)
>>>>>> File "/usr/lib/python2.6/urllib2.py", line 1121, in do_open
>>>>>> raise URLError(err)
>>>>>> urllib2.URLError: <urlopen error timed out>
>>>>>>
>>>>>>
>>>>>> Jerzy Orlowski
>>>>>>
>>>>>> _______________________________________________
>>>>>> fedora-suds-list mailing list
>>>>>> fedora-suds-list at redhat.com
>>>>>> https://www.redhat.com/mailman/listinfo/fedora-suds-list
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> fedora-suds-list mailing list
>>>> fedora-suds-list at redhat.com
>>>> https://www.redhat.com/mailman/listinfo/fedora-suds-list
>>>
>>
>
>
>
> _______________________________________________
> fedora-suds-list mailing list
> fedora-suds-list at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-suds-list

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5126 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.fedoraproject.org/pipermail/suds/attachments/20091120/b31698a2/attachment.bin 


More information about the suds mailing list