mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-31 23:26:23 -05:00
Added logging for any exception thrown in build_dvla_file
This commit is contained in:
@@ -265,22 +265,25 @@ def persist_letter(
|
||||
@notify_celery.task(bind=True, name="build-dvla-file", max_retries=15, default_retry_delay=300)
|
||||
@statsd(namespace="tasks")
|
||||
def build_dvla_file(self, job_id):
|
||||
if all_notifications_are_created_for_job(job_id):
|
||||
notifications = dao_get_all_notifications_for_job(job_id)
|
||||
file = ""
|
||||
for n in notifications:
|
||||
t = {"content": n.template.content, "subject": n.template.subject}
|
||||
# This unique id is a 7 digits requested by DVLA, not known if this number needs to be sequential.
|
||||
unique_id = int(''.join(map(str, random.sample(range(9), 7))))
|
||||
template = LetterDVLATemplate(t, n.personalisation, unique_id)
|
||||
file = file + str(template) + "\n"
|
||||
s3upload(filedata=file,
|
||||
region=current_app.config['AWS_REGION'],
|
||||
bucket_name=current_app.config['DVLA_UPLOAD_BUCKET_NAME'],
|
||||
file_location="{}-dvla-job.text".format(job_id))
|
||||
else:
|
||||
current_app.logger.info("All notifications for job {} are not persisted".format(job_id))
|
||||
self.retry(queue="retry", exc="All notifications for job {} are not persisted".format(job_id))
|
||||
try:
|
||||
if all_notifications_are_created_for_job(job_id):
|
||||
notifications = dao_get_all_notifications_for_job(job_id)
|
||||
file = ""
|
||||
for n in notifications:
|
||||
t = {"content": n.template.content, "subject": n.template.subject}
|
||||
# This unique id is a 7 digits requested by DVLA, not known if this number needs to be sequential.
|
||||
unique_id = int(''.join(map(str, random.sample(range(9), 7))))
|
||||
template = LetterDVLATemplate(t, n.personalisation, unique_id)
|
||||
file = file + str(template) + "\n"
|
||||
s3upload(filedata=file,
|
||||
region=current_app.config['AWS_REGION'],
|
||||
bucket_name=current_app.config['DVLA_UPLOAD_BUCKET_NAME'],
|
||||
file_location="{}-dvla-job.text".format(job_id))
|
||||
else:
|
||||
current_app.logger.info("All notifications for job {} are not persisted".format(job_id))
|
||||
self.retry(queue="retry", exc="All notifications for job {} are not persisted".format(job_id))
|
||||
except Exception as e:
|
||||
current_app.logger.exception("build_dvla_file threw exception: {}", e)
|
||||
|
||||
|
||||
def s3upload(filedata, region, bucket_name, file_location):
|
||||
|
||||
Reference in New Issue
Block a user