|
20 | 20 |
|
21 | 21 | LOGGER = logging.getLogger(__name__) |
22 | 22 |
|
| 23 | +RECIP_ROUTE_PAUSE = 0.1 |
| 24 | +RECIP_ROUTE_RETRY = 5 |
| 25 | + |
23 | 26 |
|
24 | 27 | class RoutingManagerError(BaseError): |
25 | 28 | """Generic routing error.""" |
@@ -59,30 +62,30 @@ async def get_recipient(self, recip_verkey: str) -> RouteRecord: |
59 | 62 | if not recip_verkey: |
60 | 63 | raise RoutingManagerError("Must pass non-empty recip_verkey") |
61 | 64 |
|
62 | | - pause = True |
| 65 | + i = 0 |
63 | 66 | record = None |
64 | 67 | while not record: |
65 | 68 | try: |
66 | | - LOGGER.error(">>> fetching routing record for verkey: " + recip_verkey) |
| 69 | + LOGGER.info(">>> fetching routing record for verkey: " + recip_verkey) |
67 | 70 | async with self._profile.session() as session: |
68 | 71 | record = await RouteRecord.retrieve_by_recipient_key( |
69 | 72 | session, recip_verkey |
70 | 73 | ) |
71 | | - LOGGER.error(">>> FOUND routing record for verkey: " + recip_verkey) |
| 74 | + LOGGER.info(">>> FOUND routing record for verkey: " + recip_verkey) |
72 | 75 | return record |
73 | 76 | except StorageDuplicateError: |
74 | | - LOGGER.error(">>> DUPLICATE routing record for verkey: " + recip_verkey) |
| 77 | + LOGGER.info(">>> DUPLICATE routing record for verkey: " + recip_verkey) |
75 | 78 | raise RouteNotFoundError( |
76 | 79 | f"More than one route record found with recipient key: {recip_verkey}" |
77 | 80 | ) |
78 | 81 | except StorageNotFoundError: |
79 | | - LOGGER.error(">>> NOT FOUND routing record for verkey: " + recip_verkey) |
80 | | - if not pause: |
| 82 | + LOGGER.info(">>> NOT FOUND routing record for verkey: " + recip_verkey) |
| 83 | + i += 1 |
| 84 | + if i > RECIP_ROUTE_RETRY: |
81 | 85 | raise RouteNotFoundError( |
82 | 86 | f"No route found with recipient key: {recip_verkey}" |
83 | 87 | ) |
84 | | - await asyncio.sleep(0.5) |
85 | | - pause = False |
| 88 | + await asyncio.sleep(RECIP_ROUTE_PAUSE) |
86 | 89 |
|
87 | 90 | async def get_routes( |
88 | 91 | self, client_connection_id: str = None, tag_filter: dict = None |
@@ -150,15 +153,15 @@ async def create_route_record( |
150 | 153 | ) |
151 | 154 | if not recipient_key: |
152 | 155 | raise RoutingManagerError("Missing recipient_key") |
153 | | - LOGGER.error(">>> creating routing record for verkey: " + recipient_key) |
| 156 | + LOGGER.info(">>> creating routing record for verkey: " + recipient_key) |
154 | 157 | route = RouteRecord( |
155 | 158 | connection_id=client_connection_id, |
156 | 159 | wallet_id=internal_wallet_id, |
157 | 160 | recipient_key=recipient_key, |
158 | 161 | ) |
159 | 162 | async with self._profile.session() as session: |
160 | 163 | await route.save(session, reason="Created new route") |
161 | | - LOGGER.error(">>> CREATED routing record for verkey: " + recipient_key) |
| 164 | + LOGGER.info(">>> CREATED routing record for verkey: " + recipient_key) |
162 | 165 | return route |
163 | 166 |
|
164 | 167 | async def update_routes( |
|
0 commit comments