How to handle connection problems in Client?
For example if server is not started or I have some network problems.

Example:

from diesel import Application, Loop, log, Client
from diesel.core import ClientConnectionError

def req_loop():
    client = Client()
    try:
        yield client.connect('127.0.0.1', 2775)
    except ClientConnectionError:
        log.info( "error1" )
    a.halt()

a = Application()
log = log.sublog('client', log.info)
a.add_loop(Loop(req_loop))
a.run()

does not work and instead of "error1" I see something like this:

=== DIESEL ERROR ===

 Generator stack at time of error:

<code object req_loop at 0xb7e5a848, file "http_client.py", line 4>
<code object _real_connect at 0xb7c4eba8, file "build/bdist.linux-i686/
egg/diesel/client.py", line 84>


 Standard Traceback:

Traceback (most recent call last):
  File "build/bdist.linux-i686/egg/diesel/core.py", line 244, in
cycle_all
    item = self.current.throw(*error)
  File "build/bdist.linux-i686/egg/diesel/client.py", line 104, in
_real_connect
    yield cobj
ClientConnectionError: [Errno 111] Connection refused

Regards,
Gustaw

Reply via email to