From a1552bf04298eb3d6bcf8c1d62662986d4d03af4 Mon Sep 17 00:00:00 2001 From: Sushil Tiwari Date: Thu, 13 Jun 2024 16:43:04 +0545 Subject: [PATCH] Add countrypage commands in cronjobs scheduled to everyweek --- databank/management/commands/FDRS_INCOME.py | 3 +++ .../management/commands/fdrs_annual_income.py | 3 +++ databank/management/commands/ingest_acaps.py | 3 +++ databank/management/commands/ingest_climate.py | 3 +++ databank/management/commands/ingest_databank.py | 3 +++ databank/management/commands/ingest_hdr.py | 3 +++ databank/management/commands/ingest_unicef.py | 3 +++ .../management/commands/ingest_worldbank.py | 3 +++ deploy/helm/ifrcgo-helm/values.yaml | 17 ++++++++++++++++- main/sentry.py | 8 ++++++++ 10 files changed, 48 insertions(+), 1 deletion(-) diff --git a/databank/management/commands/FDRS_INCOME.py b/databank/management/commands/FDRS_INCOME.py index e103c3b633..1fe5278d57 100644 --- a/databank/management/commands/FDRS_INCOME.py +++ b/databank/management/commands/FDRS_INCOME.py @@ -3,12 +3,15 @@ import requests from django.conf import settings from django.core.management.base import BaseCommand +from sentry_sdk.crons import monitor from databank.models import CountryOverview, FDRSIncome, FDRSIndicator +from main.sentry import SentryMonitor logger = logging.getLogger(__name__) +@monitor(monitor_slug=SentryMonitor.FDRS_INCOME) class Command(BaseCommand): help = "Import FDRS income data" diff --git a/databank/management/commands/fdrs_annual_income.py b/databank/management/commands/fdrs_annual_income.py index a41d962cb1..7e7e9c41ac 100644 --- a/databank/management/commands/fdrs_annual_income.py +++ b/databank/management/commands/fdrs_annual_income.py @@ -3,12 +3,15 @@ import requests from django.conf import settings from django.core.management.base import BaseCommand +from sentry_sdk.crons import monitor from databank.models import CountryOverview, FDRSAnnualIncome +from main.sentry import SentryMonitor logger = logging.getLogger(__name__) +@monitor(monitor_slug=SentryMonitor.FDRS_ANNUAL_INCOME) class Command(BaseCommand): help = "Import FDRS income data" diff --git a/databank/management/commands/ingest_acaps.py b/databank/management/commands/ingest_acaps.py index 28ab823ef3..a02ca1cdc8 100644 --- a/databank/management/commands/ingest_acaps.py +++ b/databank/management/commands/ingest_acaps.py @@ -4,12 +4,15 @@ import requests from django.conf import settings from django.core.management.base import BaseCommand +from sentry_sdk.crons import monitor from api.logger import logger from api.models import CountryType from databank.models import AcapsSeasonalCalender, CountryOverview +from main.sentry import SentryMonitor +@monitor(monitor_slug=SentryMonitor.INGEST_ACAPS) class Command(BaseCommand): help = "Add Acaps seasonal calender data" diff --git a/databank/management/commands/ingest_climate.py b/databank/management/commands/ingest_climate.py index f90914864f..7b4580f674 100644 --- a/databank/management/commands/ingest_climate.py +++ b/databank/management/commands/ingest_climate.py @@ -2,13 +2,16 @@ import requests from django.core.management.base import BaseCommand +from sentry_sdk.crons import monitor from api.models import CountryType from databank.models import CountryKeyClimate, CountryOverview +from main.sentry import SentryMonitor logger = logging.getLogger(__name__) +@monitor(monitor_slug=SentryMonitor.INGEST_CLIMATE) class Command(BaseCommand): help = "Add minimum, maximum and Average temperature of country temperature data from source api" diff --git a/databank/management/commands/ingest_databank.py b/databank/management/commands/ingest_databank.py index ea404bbf4a..66be701fb5 100644 --- a/databank/management/commands/ingest_databank.py +++ b/databank/management/commands/ingest_databank.py @@ -3,9 +3,11 @@ from django.core.management.base import BaseCommand from django.utils import timezone +from sentry_sdk.crons import monitor from api.models import Country, CronJob, CronJobStatus from databank.models import CountryOverview +from main.sentry import SentryMonitor from .sources import FDRS, FTS_HPC, INFORM, RELIEFWEB, START_NETWORK, WB @@ -24,6 +26,7 @@ ] +@monitor(monitor_slug=SentryMonitor.INGEST_DATABANK) class Command(BaseCommand): def load(self): """ diff --git a/databank/management/commands/ingest_hdr.py b/databank/management/commands/ingest_hdr.py index 16da085b27..01b9fca82c 100644 --- a/databank/management/commands/ingest_hdr.py +++ b/databank/management/commands/ingest_hdr.py @@ -2,12 +2,15 @@ import requests from django.core.management.base import BaseCommand +from sentry_sdk.crons import monitor from databank.models import CountryOverview as CO +from main.sentry import SentryMonitor logger = logging.getLogger(__name__) +@monitor(monitor_slug=SentryMonitor.INGEST_HDR) class Command(BaseCommand): help = "Add HDR GII data" diff --git a/databank/management/commands/ingest_unicef.py b/databank/management/commands/ingest_unicef.py index 786b6f0b77..0ce0c3602e 100644 --- a/databank/management/commands/ingest_unicef.py +++ b/databank/management/commands/ingest_unicef.py @@ -2,12 +2,15 @@ import requests from django.core.management.base import BaseCommand +from sentry_sdk.crons import monitor from databank.models import CountryOverview as CO +from main.sentry import SentryMonitor logger = logging.getLogger(__name__) +@monitor(monitor_slug=SentryMonitor.INGEST_UNICEF) class Command(BaseCommand): help = "Add Unicef population data" diff --git a/databank/management/commands/ingest_worldbank.py b/databank/management/commands/ingest_worldbank.py index 9a6eef5f2b..fa0b881c22 100644 --- a/databank/management/commands/ingest_worldbank.py +++ b/databank/management/commands/ingest_worldbank.py @@ -4,15 +4,18 @@ import requests from django.core.management.base import BaseCommand +from sentry_sdk.crons import monitor from api.models import Country, CountryType from databank.models import CountryOverview as CO +from main.sentry import SentryMonitor from .sources.utils import get_country_by_iso3 logger = logging.getLogger(__name__) +@monitor(monitor_slug=SentryMonitor.INGEST_WORLDBANK) class Command(BaseCommand): help = "Add Acaps seasonal calendar data" diff --git a/deploy/helm/ifrcgo-helm/values.yaml b/deploy/helm/ifrcgo-helm/values.yaml index 0fa718b89a..a71cb6214d 100644 --- a/deploy/helm/ifrcgo-helm/values.yaml +++ b/deploy/helm/ifrcgo-helm/values.yaml @@ -122,7 +122,22 @@ cronjobs: schedule: '1 0 * * *' - command: 'update_surge_alert_status' schedule: '1 */12 * * *' - + - command: 'fdrs_annual_income' + schedule: '0 0 * * 0' + - command: 'FDRS_INCOME' + schedule: '0 0 * * 0' + - command: 'ingest_acaps' + schedule: '0 0 * * *' + - command: 'ingest_climate' + schedule: '0 0 * * *' + - command: 'ingest_databank' + schedule: '0 0 * * *' + - command: 'ingest_hdr' + schedule: '0 0 * * *' + - command: 'ingest_unicef' + schedule: '0 0 * * *' + - command: 'ingest_worldbank' + schedule: '0 0 * * *' elasticsearch: enabled: true diff --git a/main/sentry.py b/main/sentry.py index 5c588c63ae..4148d1c046 100644 --- a/main/sentry.py +++ b/main/sentry.py @@ -114,6 +114,14 @@ class SentryMonitor(models.TextChoices): USER_REGISTRATION_REMINDER = "user_registration_reminder", "0 9 * * *" INGEST_COUNTRY_PLAN_FILE = "ingest_country_plan_file", "1 0 * * *" UPDATE_SURGE_ALERT_STATUS = "update_surge_alert_status", "1 */12 * * *" + FDRS_ANNUAL_INCOME = "fdrs_annual_income", "0 0 * * 0" + FDRS_INCOME = "FDRS_INCOME", "0 0 * * 0" + INGEST_ACAPS = "ingest_acaps", "0 0 * * *" + INGEST_CLIMATE = "ingest_climate", "0 0 * * *" + INGEST_DATABANK = "ingest_databank", "0 0 * * *" + INGEST_HDR = "ingest_hdr", "0 0 * * *" + INGEST_UNICEF = "ingest_unicef", "0 0 * * *" + INGEST_WORLDBANK = "ingest_worldbank", "0 0 * * *" @staticmethod def load_cron_data() -> typing.List[typing.Tuple[str, str]]: