Add retries to signer check

This commit is contained in:
nolash 2021-04-23 22:49:52 +02:00
parent 2320a6b39b
commit 05b1c94551
Signed by untrusted user who does not match committer: lash
GPG Key ID: 21D2E7BB88C2A746

View File

@ -1,4 +1,5 @@
# standard imports # standard imports
import time
import logging import logging
from urllib.error import URLError from urllib.error import URLError
@ -12,15 +13,25 @@ logg = logging.getLogger().getChild(__name__)
def health(*args, **kwargs): def health(*args, **kwargs):
blocked = True
max_attempts = 5
conn = RPCConnection.connect(kwargs['config'].get('CIC_CHAIN_SPEC'), tag='signer') conn = RPCConnection.connect(kwargs['config'].get('CIC_CHAIN_SPEC'), tag='signer')
for i in range(max_attempts):
idx = i + 1
logg.debug('attempt signer connection check {}/{}'.format(idx, max_attempts))
try: try:
conn.do(sign_message(ZERO_ADDRESS, '0x2a')) conn.do(sign_message(ZERO_ADDRESS, '0x2a'))
except FileNotFoundError: except FileNotFoundError:
return False
except ConnectionError:
return False
except URLError:
return False
except JSONRPCException as e:
pass pass
except ConnectionError:
pass
except URLError:
pass
except JSONRPCException:
logg.debug('signer connection succeeded')
return True return True
if idx < max_attempts:
time.sleep(0.5)
return False