Files
AdNova/services/backend/apps/campaign/management/commands/init_cache.py
T
2025-03-07 19:32:09 +03:00

36 lines
1.1 KiB
Python

from typing import Any
from django.core.management.base import BaseCommand
from apps.campaign.models import Campaign
from apps.mlscore.models import Mlscore
class Command(BaseCommand):
help = (
"Initialize cache with current counts of "
"impressions, clicks, and ML scores."
)
def handle(self, *args: Any, **kwargs: Any) -> None:
for campaign in Campaign.objects.all():
campaign.setup_cache()
self.stdout.write(
self.style.SUCCESS(
f"Initialized cache for Campaign {campaign.id}: "
f"{campaign.impressions_count} impressions, "
f"{campaign.clicks_count} clicks."
)
)
for mlscore in Mlscore.objects.all():
mlscore.setup_cache()
self.stdout.write(
self.style.SUCCESS(
f"Initialized cache for MLscore: "
f"Client {mlscore.client_id}, "
f"Advertiser {mlscore.advertiser_id}, "
f"Score {mlscore.score}."
)
)