From 0396a3b6cc94a56ae59494e2618909db20a385fe Mon Sep 17 00:00:00 2001 From: ITQ Date: Sat, 22 Feb 2025 08:43:53 +0300 Subject: [PATCH] perf: small improvements to suggesting algotithm --- solution/services/backend/apps/campaign/models.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/solution/services/backend/apps/campaign/models.py b/solution/services/backend/apps/campaign/models.py index 23cefad..04199a8 100644 --- a/solution/services/backend/apps/campaign/models.py +++ b/solution/services/backend/apps/campaign/models.py @@ -350,6 +350,7 @@ class Campaign(BaseModel): for campaign in campaigns: has_impression = campaign.id in client_impressions has_click = campaign.id in client_clicks + campaign_impressions_count = campaign.impressions_count if not has_impression: allow_exceed_impressions = random.choice( @@ -361,7 +362,7 @@ class Campaign(BaseModel): * 0.1 * allow_exceed_impressions ) - if campaign.impressions_count >= impressions_limit: + if campaign_impressions_count >= impressions_limit: continue ml_score = cache.get( @@ -377,7 +378,7 @@ class Campaign(BaseModel): profit_values.append(profit) remaining_imp = ( - campaign.impressions_limit - campaign.impressions_count + campaign.impressions_limit - campaign_impressions_count ) capacity_ratio = ( remaining_imp / campaign.impressions_limit