diff --git a/care/facility/reports/admin_reports.py b/care/facility/reports/admin_reports.py index 4d7d471796..4a4b6f2d6f 100644 --- a/care/facility/reports/admin_reports.py +++ b/care/facility/reports/admin_reports.py @@ -4,6 +4,8 @@ from uuid import uuid4 import boto3 +from celery.decorators import periodic_task +from celery.schedules import crontab from django.conf import settings from django.core.files.storage import default_storage from django.core.mail import EmailMessage @@ -18,6 +20,11 @@ from care.utils.whatsapp.send_media_message import generate_whatsapp_message +@periodic_task(run_every=crontab(minute="0", hour="8")) +def run_scheduled_district_reports(): + AdminReports(AdminReportsMode.DISTRICT).generate_reports() + + class InvalidModeException(Exception): pass diff --git a/config/api_router.py b/config/api_router.py index dad6330c1b..d275f97f11 100644 --- a/config/api_router.py +++ b/config/api_router.py @@ -56,7 +56,6 @@ else: router = SimpleRouter() - router.register("users", UserViewSet) user_nested_rotuer = NestedSimpleRouter(router, r"users", lookup="users") user_nested_rotuer.register("skill", UserSkillViewSet) @@ -162,3 +161,8 @@ url(r"^", include(resource_nested_router.urls)), url(r"^", include(shifting_nested_router.urls)), ] + + +## Importing Celery Tasks + +import care.facility.reports.admin_reports