mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-20 23:41:17 -05:00
use callback queue
This commit is contained in:
@@ -199,7 +199,7 @@ def timeout_notifications():
|
|||||||
service_callback_api = get_service_callback_api_for_service(service_id=notification.service_id)
|
service_callback_api = get_service_callback_api_for_service(service_id=notification.service_id)
|
||||||
|
|
||||||
if service_callback_api:
|
if service_callback_api:
|
||||||
send_delivery_status_to_service.apply_async([str(id)], queue=QueueNames.NOTIFY)
|
send_delivery_status_to_service.apply_async([str(id)], queue=QueueNames.CALLBACKS)
|
||||||
|
|
||||||
current_app.logger.info(
|
current_app.logger.info(
|
||||||
"Timeout period reached for {} notifications, status has been updated.".format(len(notifications)))
|
"Timeout period reached for {} notifications, status has been updated.".format(len(notifications)))
|
||||||
|
|||||||
@@ -416,7 +416,7 @@ def update_letter_notifications_to_error(self, notification_references):
|
|||||||
service_callback_api = get_service_callback_api_for_service(service_id=notifications[0].service_id)
|
service_callback_api = get_service_callback_api_for_service(service_id=notifications[0].service_id)
|
||||||
if service_callback_api:
|
if service_callback_api:
|
||||||
for notification in notifications:
|
for notification in notifications:
|
||||||
send_delivery_status_to_service.apply_async([str(notification.id)], queue=QueueNames.NOTIFY)
|
send_delivery_status_to_service.apply_async([str(notification.id)], queue=QueueNames.CALLBACKS)
|
||||||
|
|
||||||
|
|
||||||
def create_dvla_file_contents_for_job(job_id):
|
def create_dvla_file_contents_for_job(job_id):
|
||||||
@@ -503,7 +503,7 @@ def update_letter_notifications_statuses(self, filename):
|
|||||||
service_callback_api = get_service_callback_api_for_service(service_id=notifications[0].service_id)
|
service_callback_api = get_service_callback_api_for_service(service_id=notifications[0].service_id)
|
||||||
if service_callback_api:
|
if service_callback_api:
|
||||||
for notification in notifications:
|
for notification in notifications:
|
||||||
send_delivery_status_to_service.apply_async([str(notification.id)], queue=QueueNames.NOTIFY)
|
send_delivery_status_to_service.apply_async([str(notification.id)], queue=QueueNames.CALLBACKS)
|
||||||
|
|
||||||
|
|
||||||
def process_updates_from_file(response_file):
|
def process_updates_from_file(response_file):
|
||||||
|
|||||||
@@ -99,4 +99,4 @@ def _check_and_queue_callback_task(notification_id, service_id):
|
|||||||
# queue callback task only if the service_callback_api exists
|
# queue callback task only if the service_callback_api exists
|
||||||
service_callback_api = get_service_callback_api_for_service(service_id=service_id)
|
service_callback_api = get_service_callback_api_for_service(service_id=service_id)
|
||||||
if service_callback_api:
|
if service_callback_api:
|
||||||
send_delivery_status_to_service.apply_async([str(notification_id)], queue=QueueNames.NOTIFY)
|
send_delivery_status_to_service.apply_async([str(notification_id)], queue=QueueNames.CALLBACKS)
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ def process_sms_client_response(status, reference, client_name):
|
|||||||
service_callback_api = get_service_callback_api_for_service(service_id=notification.service_id)
|
service_callback_api = get_service_callback_api_for_service(service_id=notification.service_id)
|
||||||
|
|
||||||
if service_callback_api:
|
if service_callback_api:
|
||||||
send_delivery_status_to_service.apply_async([str(notification.id)], queue=QueueNames.NOTIFY)
|
send_delivery_status_to_service.apply_async([str(notification.id)], queue=QueueNames.CALLBACKS)
|
||||||
|
|
||||||
success = "{} callback succeeded. reference {} updated".format(client_name, reference)
|
success = "{} callback succeeded. reference {} updated".format(client_name, reference)
|
||||||
return success, errors
|
return success, errors
|
||||||
|
|||||||
@@ -116,8 +116,8 @@ def test_update_letter_notifications_statuses_persisted(notify_api, mocker, samp
|
|||||||
assert failed_letter.billable_units == 2
|
assert failed_letter.billable_units == 2
|
||||||
assert failed_letter.updated_at
|
assert failed_letter.updated_at
|
||||||
|
|
||||||
calls = [call([str(failed_letter.id)], queue="notify-internal-tasks"),
|
calls = [call([str(failed_letter.id)], queue="service-callbacks"),
|
||||||
call([str(sent_letter.id)], queue="notify-internal-tasks")]
|
call([str(sent_letter.id)], queue="service-callbacks")]
|
||||||
send_mock.assert_has_calls(calls, any_order=True)
|
send_mock.assert_has_calls(calls, any_order=True)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ def test_ses_callback_should_update_notification_status(
|
|||||||
)
|
)
|
||||||
statsd_client.incr.assert_any_call("callback.ses.delivered")
|
statsd_client.incr.assert_any_call("callback.ses.delivered")
|
||||||
stats_mock.assert_called_once_with(notification)
|
stats_mock.assert_called_once_with(notification)
|
||||||
send_mock.assert_called_once_with([str(notification.id)], queue="notify-internal-tasks")
|
send_mock.assert_called_once_with([str(notification.id)], queue="service-callbacks")
|
||||||
|
|
||||||
|
|
||||||
def test_ses_callback_does_not_call_send_delivery_status_if_no_db_entry(
|
def test_ses_callback_does_not_call_send_delivery_status_if_no_db_entry(
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ def test_outcome_statistics_called_for_successful_callback(sample_notification,
|
|||||||
success, error = process_sms_client_response(status='3', reference=reference, client_name='MMG')
|
success, error = process_sms_client_response(status='3', reference=reference, client_name='MMG')
|
||||||
assert success == "MMG callback succeeded. reference {} updated".format(str(reference))
|
assert success == "MMG callback succeeded. reference {} updated".format(str(reference))
|
||||||
assert error is None
|
assert error is None
|
||||||
send_mock.assert_called_once_with([str(sample_notification.id)], queue="notify-internal-tasks")
|
send_mock.assert_called_once_with([str(sample_notification.id)], queue="service-callbacks")
|
||||||
stats_mock.assert_called_once_with(sample_notification)
|
stats_mock.assert_called_once_with(sample_notification)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ def test_cloudfoundry_config_has_different_defaults():
|
|||||||
def test_queue_names_all_queues_correct():
|
def test_queue_names_all_queues_correct():
|
||||||
# Need to ensure that all_queues() only returns queue names used in API
|
# Need to ensure that all_queues() only returns queue names used in API
|
||||||
queues = QueueNames.all_queues()
|
queues = QueueNames.all_queues()
|
||||||
assert len(queues) == 11
|
assert len(queues) == 12
|
||||||
assert set([
|
assert set([
|
||||||
QueueNames.PRIORITY,
|
QueueNames.PRIORITY,
|
||||||
QueueNames.PERIODIC,
|
QueueNames.PERIODIC,
|
||||||
@@ -75,5 +75,6 @@ def test_queue_names_all_queues_correct():
|
|||||||
QueueNames.JOBS,
|
QueueNames.JOBS,
|
||||||
QueueNames.RETRY,
|
QueueNames.RETRY,
|
||||||
QueueNames.NOTIFY,
|
QueueNames.NOTIFY,
|
||||||
QueueNames.CREATE_LETTERS_PDF
|
QueueNames.CREATE_LETTERS_PDF,
|
||||||
|
QueueNames.CALLBACKS
|
||||||
]) == set(queues)
|
]) == set(queues)
|
||||||
|
|||||||
Reference in New Issue
Block a user