diff --git a/limiter/batch_limiter.py b/limiter/batch_limiter.py index df730e3..64016a5 100644 --- a/limiter/batch_limiter.py +++ b/limiter/batch_limiter.py @@ -1,4 +1,5 @@ import asyncio +import logging from datetime import datetime from redis import asyncio as aioredis @@ -51,7 +52,7 @@ class BatchLimiter: await redis.set(key, 1) await redis.set(f"{key}:start_time", datetime.now().isoformat()) except aioredis.RedisError as e: - print(f"Redis error: {e}") + logging.error(f"Redis error: {e}") await asyncio.sleep(1) async def acquire_wildberries(self, key): diff --git a/queries/general.py b/queries/general.py index 6fd8cca..4d7841c 100644 --- a/queries/general.py +++ b/queries/general.py @@ -243,7 +243,7 @@ async def get_stocks_data( ), else_=0) .label('warehouse_stock'), - func.coalesce(mix_stock_full_subquery.c.mix_stock, 0).label('mix_stock'), + mix_stock_full_subquery.c.mix_stock.label('mix_stock'), func.coalesce(in_block_subquery.c.in_block_value, 1).label('in_block_value'), is_master_subquery.c.is_master.label('is_master'), func.coalesce(slaves_stock_subquery.c.slaves_stock, 0).label('slaves_stock'), @@ -313,6 +313,10 @@ async def get_stocks_data( }) continue is_mix = mix_stock is not None + + if not mix_stock: + mix_stock = 0 + if all([is_mix, slaves_stock > 0]): mix_stock = 0 balance_limit = price_purchase > company.balance @@ -338,5 +342,4 @@ async def get_stocks_data( 'full_stock': full_stock, 'marketplace_product': marketplace_product, }) - return response