@@ -24,20 +24,28 @@ async def shutdown(ctx: Worker) -> None:
24
24
ctx ['users_repository' ].shutdown ()
25
25
26
26
27
- async def heavy_endpoint (ctx : Worker , id_device : str ):
27
+ async def heavy_endpoint (ctx : Worker , random_value : str ):
28
28
now = datetime .now ().strftime ("%Y-%m-%d %H:%M:%S" )
29
- logger .info (f"[{ id_device } { now } ] Calling heavy endpoint..." )
30
- session : AsyncClient = ctx ['session' ]
31
- user_repository : UsersRepository = ctx ['users_repository' ]
32
- user_id_one = user_repository .get_user (1 )
33
- logger .info (f"[{ id_device } { now } ] User 1: { user_id_one } " )
29
+ logger .info (f"[{ random_value } ] [{ now } ] Calling heavy endpoint..." )
30
+ # Busco simular llamado a un endpoint que me TARDE MUCHISIMO
31
+ # en responder. En este caso, 10 segs.
32
+ # (mismo puede ser un llamado LENTO a una base de datos, etc.)
34
33
secs_delay = 10
34
+ session : AsyncClient = ctx ['session' ]
35
35
url = 'https://httpbin.org/delay/%s' % secs_delay
36
36
response = await session .get (url )
37
37
now = datetime .now ().strftime ("%Y-%m-%d %H:%M:%S" )
38
- logger .info (f'[{ id_device } { now } ] Succesfuly called'
38
+ logger .info (f'[{ random_value } ] [ { now } ] Succesfuly called'
39
39
f' heavy endpoint. Response: { response .json ()} ' )
40
40
41
+ # Tambien podemos acceder a la capa de repositorio...
42
+ # (aquí es donde habría que consultar al CRUD de Alarmas,
43
+ # buscar si en el minuto actual hay alguna alarma
44
+ # de algún usuario, y si la hay, enviar una notificación)
45
+ user_repository : UsersRepository = ctx ['users_repository' ]
46
+ user_id_one = user_repository .get_user (1 )
47
+ logger .info (f"[{ random_value } ] [{ now } ] User 1: { user_id_one } " )
48
+
41
49
42
50
class WorkerSettings :
43
51
functions = [heavy_endpoint ]
0 commit comments