From 6025393ad485a4e0bc93a5810da7e61912de07a6 Mon Sep 17 00:00:00 2001 From: tpv Date: Tue, 30 Jun 2026 19:37:01 -0700 Subject: [PATCH] added keyword args instead of postional for execute monitor logic --- src/monitor_utils/database.py | 10 ++++++---- src/monitor_utils/runner.py | 4 +++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/monitor_utils/database.py b/src/monitor_utils/database.py index eef6d4f..fcb8787 100644 --- a/src/monitor_utils/database.py +++ b/src/monitor_utils/database.py @@ -60,12 +60,11 @@ async def add_products_to_database( new_price is not None and new_price < old_price ) + set_on_insert = {"discoveredDate": datetime.now(timezone.utc)} if price_dropped: document["status"] = STATUS_PENDING document["priceBeforeDrop"] = old_price - - set_on_insert = {"discoveredDate": datetime.now(timezone.utc)} - if not price_dropped: + else: set_on_insert["status"] = STATUS_PENDING ops.append( @@ -79,7 +78,10 @@ async def add_products_to_database( try: await collection.bulk_write(ops, ordered=False) except PyMongoError: - LOGGER.exception(f"{category_identifier} - failed to add products to database") + LOGGER.exception( + "failed to add products to database", + extra={"category": category_identifier}, + ) raise diff --git a/src/monitor_utils/runner.py b/src/monitor_utils/runner.py index 70f72de..0794ff5 100644 --- a/src/monitor_utils/runner.py +++ b/src/monitor_utils/runner.py @@ -135,9 +135,10 @@ def build_product_details( async def execute_monitor_logic( - proxies: AioProxies, category_identifiers: list[str] | dict[str, str], task_func: Callable[..., Awaitable[None]], + *, + proxies: AioProxies, headers: dict | None = None, cookies: dict | None = None, pre_task_func: Callable[..., Awaitable[None]] | None = None, @@ -203,6 +204,7 @@ async def execute_pagination( products_per_page: int, func: Callable[..., Awaitable[None]], session: aiohttp.ClientSession | AsyncSession, + *, max_concurrent_tasks: int = 5, start_offset: int = 24, pagination_mode: str = "offset",