From efcab62336ffcdb71602e6a4f6c6262e1bedc277 Mon Sep 17 00:00:00 2001 From: Xevion Date: Sun, 1 Jun 2025 03:23:12 -0500 Subject: [PATCH] shutdown rps printer once series processing is done, rps 1 decimal --- main.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/main.py b/main.py index 74b33a5..f236e39 100644 --- a/main.py +++ b/main.py @@ -203,8 +203,10 @@ async def main(): ) total_indexer_counts.update(indexer_counts) - async def print_rps(interval=3): + async def print_rps(interval=3, stop_event=None): while True: + if stop_event and stop_event.is_set(): + break await anyio.sleep(interval) async with counter_lock: rps = request_counter["count"] / interval @@ -212,15 +214,18 @@ async def main(): request_counter["count"] = 0 await logger.info( "Requests per second and active requests", - rps=rps, + rps=round(rps, 1), active_requests=active, - interval=interval, ) + stop_event = anyio.Event() + async with anyio.create_task_group() as tg: - tg.start_soon(print_rps, 3) - for series in series_list: - tg.start_soon(process_and_log, series) + tg.start_soon(print_rps, 3, stop_event) + async with anyio.create_task_group() as series_tg: + for series in series_list: + series_tg.start_soon(process_and_log, series) + stop_event.set() await logger.info( "Total indexer counts across all series",