perf: improved campaigns suggestion perfomance by caching some things
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
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}."
|
||||
)
|
||||
)
|
||||
Reference in New Issue
Block a user