mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-15 07:18:09 -04:00
Refactor update to notifcations to be a bulk update. This is much better for performance.
This commit is contained in:
@@ -24,7 +24,8 @@ from app.dao.jobs_dao import (
|
||||
all_notifications_are_created_for_job,
|
||||
dao_get_all_notifications_for_job,
|
||||
dao_update_job_status)
|
||||
from app.dao.notifications_dao import get_notification_by_id, dao_update_notification
|
||||
from app.dao.notifications_dao import get_notification_by_id, dao_update_notification, \
|
||||
dao_update_notifications_sent_to_dvla
|
||||
from app.dao.provider_details_dao import get_current_provider
|
||||
from app.dao.services_dao import dao_fetch_service_by_id, fetch_todays_total_message_count
|
||||
from app.dao.templates_dao import dao_get_template_by_id
|
||||
@@ -38,7 +39,7 @@ from app.models import (
|
||||
JOB_STATUS_IN_PROGRESS,
|
||||
JOB_STATUS_FINISHED,
|
||||
JOB_STATUS_READY_TO_SEND,
|
||||
JOB_STATUS_SENT_TO_DVLA, NOTIFICATION_SENDING)
|
||||
JOB_STATUS_SENT_TO_DVLA, NOTIFICATION_SENDING, Notification)
|
||||
from app.notifications.process_notifications import persist_notification
|
||||
from app.service.utils import service_allowed_to_send_to
|
||||
from app.statsd_decorators import statsd
|
||||
@@ -298,14 +299,13 @@ def update_job_to_sent_to_dvla(self, job_id):
|
||||
# This task will be called by the FTP app to update the job to sent to dvla
|
||||
# and update all notifications for this job to sending, provider = DVLA
|
||||
provider = get_current_provider(LETTER_TYPE)
|
||||
notifications = dao_get_all_notifications_for_job(job_id)
|
||||
for n in notifications:
|
||||
n.status = NOTIFICATION_SENDING
|
||||
n.sent_by = provider.identifier
|
||||
dao_update_notification(n)
|
||||
|
||||
updated_count = dao_update_notifications_sent_to_dvla(job_id, provider.identifier)
|
||||
dao_update_job_status(job_id, JOB_STATUS_SENT_TO_DVLA)
|
||||
|
||||
current_app.logger.info("Updated {} letter notifications to sending. "
|
||||
"Updated {} job to {}".format(updated_count, job_id, JOB_STATUS_SENT_TO_DVLA))
|
||||
|
||||
|
||||
def create_dvla_file_contents(job_id):
|
||||
file_contents = '\n'.join(
|
||||
|
||||
Reference in New Issue
Block a user