1+ import logging
12import threading
23from datetime import datetime , timezone
34from time import sleep
910from redis .auth .idp import IdentityProviderInterface
1011from redis .auth .token import TokenResponse
1112
13+ logger = logging .getLogger (__name__ )
1214
1315class CredentialsListener :
1416 """
@@ -121,6 +123,7 @@ def __init__(self, identity_provider: IdentityProviderInterface, config: TokenMa
121123 self ._retries = 0
122124
123125 def __del__ (self ):
126+ logger .info ("Token manager are disposed" )
124127 self .stop ()
125128
126129 def start (
@@ -150,8 +153,9 @@ def start(
150153 skip_initial ,
151154 init_event
152155 )
156+ logger .info ("Token manager started" )
153157
154- # Blocks in thread-safe maner .
158+ # Blocks in thread-safe manner .
155159 asyncio .run_coroutine_threadsafe (init_event .wait (), loop ).result ()
156160 return self .stop
157161
@@ -170,6 +174,7 @@ async def start_async(
170174 # Wraps the async callback with async wrapper to schedule with loop.call_later()
171175 wrapped = _async_to_sync_wrapper (loop , self ._renew_token_async , skip_initial , init_event )
172176 self ._init_timer = loop .call_later (initial_delay_in_ms / 1000 , wrapped )
177+ logger .info ("Token manager started" )
173178
174179 if block_for_initial :
175180 await init_event .wait ()
@@ -244,6 +249,7 @@ def _renew_token(self, skip_initial: bool = False, init_event: asyncio.Event = N
244249 raise TokenRenewalErr ("Requested token is expired" )
245250
246251 if self ._listener .on_next is None :
252+ logger .warning ("No registered callback for token renewal task. Renewal cancelled" )
247253 return
248254
249255 if not skip_initial :
@@ -257,6 +263,7 @@ def _renew_token(self, skip_initial: bool = False, init_event: asyncio.Event = N
257263
258264 loop = asyncio .get_running_loop ()
259265 self ._next_timer = loop .call_later (delay , self ._renew_token )
266+ logger .info (f"Next token renewal scheduled in { delay } seconds" )
260267 return token_res
261268 except Exception as e :
262269 if self ._listener .on_error is None :
@@ -284,6 +291,7 @@ async def _renew_token_async(self, skip_initial: bool = False, init_event: async
284291 raise TokenRenewalErr ("Requested token is expired" )
285292
286293 if self ._listener .on_next is None :
294+ logger .warning ("No registered callback for token renewal task. Renewal cancelled" )
287295 return
288296
289297 if not skip_initial :
@@ -297,11 +305,9 @@ async def _renew_token_async(self, skip_initial: bool = False, init_event: async
297305
298306 loop = asyncio .get_running_loop ()
299307 wrapped = _async_to_sync_wrapper (loop , self ._renew_token_async )
308+ logger .info (f"Next token renewal scheduled in { delay } seconds" )
300309 loop .call_later (delay , wrapped )
301310 except Exception as e :
302- if init_event :
303- init_event .set ()
304-
305311 if self ._listener .on_error is None :
306312 raise e
307313
0 commit comments