Не удается перехватить исключения из экземпляра 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")