Не удается перехватить исключения из экземпляра Gearman Client

При подключении к демону gearman, если URL или порт демона неверны и соединение не может быть установлено, возникает исключение:

      File "/usr/lib/python2.7/dist-packages/gearman/client.py", line 205, in establish_request_connection
    raise ServerUnavailable('Found no valid connections: %r' % self.connection_list)

gearman.errors.ServerUnavailable: Found no valid connections: [<GearmanConnection localhost:4700 connected=False>]

Я хочу поймать исключение и обработать его изящно, но код ниже не делает этого. Исключение и трассировка отображаются так, как будто я не пытался перехватить исключение.

Код, который генерирует и пытается перехватить исключение:

import gearman
from gearman.errors import ConnectionError, InvalidAdminClientState, ServerUnavailable
try:
    gmClient = gearman.GearmanClient(['localhost:4730'])
except gearman.errors.ServerUnavailable, e:
# I've also tried except ServerUnavailable, e: - same result.
    print(e)

Как правильно перехватить исключения подключения клиента gearman?

1 ответ

ServerUnavailable Исключение возникает, когда вы пытаетесь отправить работу. Попробуй это:

import gearman

gmClient = gearman.GearmanClient(['localhost:4700'])

try:
    request = gmClient.submit_job('reverse', 'Hello World!')
except gearman.errors.ServerUnavailable, e:
    print("caught ServerUnavailable")
Другие вопросы по тегам