use callback queue

This commit is contained in:
venusbb
2017-12-13 11:55:08 +00:00
parent 11152ab117
commit cef8d6e294
8 changed files with 12 additions and 11 deletions

View File

@@ -199,7 +199,7 @@ def timeout_notifications():
service_callback_api = get_service_callback_api_for_service(service_id=notification.service_id)
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(
"Timeout period reached for {} notifications, status has been updated.".format(len(notifications)))

View File

@@ -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)
if service_callback_api:
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):
@@ -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)
if service_callback_api:
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):

View 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
service_callback_api = get_service_callback_api_for_service(service_id=service_id)
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)

View File

@@ -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)
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)
return success, errors

View File

@@ -116,8 +116,8 @@ def test_update_letter_notifications_statuses_persisted(notify_api, mocker, samp
assert failed_letter.billable_units == 2
assert failed_letter.updated_at
calls = [call([str(failed_letter.id)], queue="notify-internal-tasks"),
call([str(sent_letter.id)], queue="notify-internal-tasks")]
calls = [call([str(failed_letter.id)], queue="service-callbacks"),
call([str(sent_letter.id)], queue="service-callbacks")]
send_mock.assert_has_calls(calls, any_order=True)

View File

@@ -47,7 +47,7 @@ def test_ses_callback_should_update_notification_status(
)
statsd_client.incr.assert_any_call("callback.ses.delivered")
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(

View File

@@ -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')
assert success == "MMG callback succeeded. reference {} updated".format(str(reference))
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)

View File

@@ -63,7 +63,7 @@ def test_cloudfoundry_config_has_different_defaults():
def test_queue_names_all_queues_correct():
# Need to ensure that all_queues() only returns queue names used in API
queues = QueueNames.all_queues()
assert len(queues) == 11
assert len(queues) == 12
assert set([
QueueNames.PRIORITY,
QueueNames.PERIODIC,
@@ -75,5 +75,6 @@ def test_queue_names_all_queues_correct():
QueueNames.JOBS,
QueueNames.RETRY,
QueueNames.NOTIFY,
QueueNames.CREATE_LETTERS_PDF
QueueNames.CREATE_LETTERS_PDF,
QueueNames.CALLBACKS
]) == set(queues)