MCPcopy Create free account
hub / github.com/alphagov/notifications-api / process_report_request

Function process_report_request

app/celery/tasks.py:671–703  ·  view source on GitHub ↗
(self, service_id: UUID, report_request_id: UUID)

Source from the content-addressed store, hash-verified

669
670
671@notify_celery.task(bind=True, name="process-report-request")
672def process_report_request(self, service_id: UUID, report_request_id: UUID):
673 report_request = dao_get_report_request_by_id(service_id=service_id, report_id=report_request_id)
674
675 extra = {
676 "report_request_id": report_request_id,
677 "report_request_status": report_request.status,
678 "celery_task": self.name,
679 }
680 current_app.logger.info(
681 "Starting %(celery_task)s task for report request id %(report_request_id)s and "
682 "status %(report_request_status)s",
683 extra,
684 extra=extra,
685 )
686
687 if report_request.status != REPORT_REQUEST_PENDING:
688 return
689
690 report_request.status = REPORT_REQUEST_IN_PROGRESS
691 dao_update_report_request(report_request)
692
693 try:
694 ReportRequestProcessor(service_id=service_id, report_request_id=report_request_id).process()
695 report_request.status = REPORT_REQUEST_STORED
696 dao_update_report_request(report_request)
697
698 current_app.logger.info(
699 "Report request %s succeeded", report_request_id, extra={"report_request_id": report_request_id}
700 )
701 except Exception as e:
702 report_request.status = REPORT_REQUEST_FAILED
703 dao_update_report_request(report_request)
704 raise ProcessReportRequestException(f"Report request for id {report_request_id} failed") from e

Calls 5

processMethod · 0.80