From 6dfa6fee1ce9044d1cff73f6bbee3ce2a36cb99c Mon Sep 17 00:00:00 2001 From: magicalne Date: Thu, 5 May 2022 14:49:17 +0800 Subject: [PATCH] fix: randomly hit 503 error of cloudflare --- agent/app.py | 60 +++++++++++++++++++++++++++++----------------------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/agent/app.py b/agent/app.py index 9e9dd25..10101d3 100644 --- a/agent/app.py +++ b/agent/app.py @@ -270,7 +270,7 @@ def run(self): global WithdrawalCapacity while True: - sleep(2) + sleep(5) logging.info("Start running") if BlockNumber is None: try: @@ -281,34 +281,42 @@ def run(self): else: LastBlockNumber = BlockNumber - Ping = self.get_result.get_gw_ping() - Web3Version = self.get_result.web3_clientVersion() + try: + Ping = self.get_result.get_gw_ping() + Web3Version = self.get_result.web3_clientVersion() - LastBlockHash = self.get_result.get_LastBlockHash( - block_number=LastBlockNumber) + LastBlockHash = self.get_result.get_LastBlockHash( + block_number=LastBlockNumber) - LastBlockDetail = self.get_result.get_BlockDetail( - LastBlockHash["last_block_hash"]) - if "-1" in LastBlockDetail.values(): - print(f'LastBlockDetail: {LastBlockDetail}') - continue - else: - PreviousBlock_hash = self.get_result.get_block_hash( - hex((LastBlockDetail["blocknumber"]) - 1)) - PreviousBlockDetail = self.get_result.get_BlockDetail( - PreviousBlock_hash["blocknumber_hash"]) - if "-1" in PreviousBlockDetail.values(): - print(f'PreviousBlockDetail: {PreviousBlockDetail}') + LastBlockDetail = self.get_result.get_BlockDetail( + LastBlockHash["last_block_hash"]) + if "-1" in LastBlockDetail.values(): + print(f'LastBlockDetail: {LastBlockDetail}') continue - LastBlock_Time = convert_int( - LastBlockDetail["blocknumber_timestamp"]) - LastBlockTimestamp = LastBlock_Time - PreviousBlock_Time = convert_int( - PreviousBlockDetail["blocknumber_timestamp"]) - BlockTimeDifference = abs(LastBlock_Time - PreviousBlock_Time) - CommitTransacionCount = LastBlockDetail["commit_transactions"] - TPS = LastBlockDetail[ - "commit_transactions"] / BlockTimeDifference * 1000 + else: + PreviousBlock_hash = self.get_result.get_block_hash( + hex((LastBlockDetail["blocknumber"]) - 1)) + if "-1" in PreviousBlock_hash.values(): + continue + PreviousBlockDetail = self.get_result.get_BlockDetail( + PreviousBlock_hash["blocknumber_hash"]) + if "-1" in PreviousBlockDetail.values(): + print(f'PreviousBlockDetail: {PreviousBlockDetail}') + continue + LastBlock_Time = convert_int( + LastBlockDetail["blocknumber_timestamp"]) + LastBlockTimestamp = LastBlock_Time + PreviousBlock_Time = convert_int( + PreviousBlockDetail["blocknumber_timestamp"]) + BlockTimeDifference = abs(LastBlock_Time - + PreviousBlock_Time) + CommitTransacionCount = LastBlockDetail[ + "commit_transactions"] + TPS = LastBlockDetail[ + "commit_transactions"] / BlockTimeDifference * 1000 + except: + ## ignore any exception + continue one_ckb = 100_000_000 if DISABLE_CUSTODIAN_STATS not in os.environ: logging.info("Loading custodian stats")