import logging from celery import shared_task from labs.models import CertificateIssuance from labs.certificate.file import generate_issuance_pdf logger = logging.getLogger(__name__) @shared_task(bind=True) def generate_certificate_issuance_pdf_task(self, certificate_issuance_id: int): try: issuance = CertificateIssuance.objects.select_related("cert_type", "recipient").get(id=certificate_issuance_id) except CertificateIssuance.DoesNotExist: logger.error(f"Certificate issuance with id {certificate_issuance_id} does not exist") return generate_issuance_pdf(issuance)