Allow for both an endpoint callback and SQS consumption

This commit is contained in:
Athanasios Voutsadakis
2017-08-03 18:05:42 +01:00
committed by Richard Chapman
parent 9293a949ea
commit 865cb6656e
2 changed files with 12 additions and 3 deletions

View File

@@ -63,6 +63,7 @@ from app.models import (
SMS_TYPE,
)
from app.notifications.process_notifications import persist_notification
from app.notifications.notifications_ses_callback import process_ses_response
from app.service.utils import service_allowed_to_send_to
from app.statsd_decorators import statsd
from notifications_utils.s3 import s3upload
@@ -547,3 +548,9 @@ def process_incomplete_job(job_id):
process_row(row_number, recipient, personalisation, template, job, job.service)
job_complete(job, job.service, template, resumed=True)
@notify_celery.task(bind=True, name='process-ses-result')
@statsd(namespace="tasks")
def process_ses_results(self, response):
process_ses_response(response)

View File

@@ -27,11 +27,13 @@ register_errors(ses_callback_blueprint)
@ses_callback_blueprint.route('/notifications/email/ses', methods=['POST'])
def process_ses_response():
def sns_callback_handler():
process_ses_response(json.loads(request.data))
def process_ses_response(ses_request):
client_name = 'SES'
try:
ses_request = json.loads(request.data)
subscribed_topic = autoconfirm_subscription(ses_request)
if subscribed_topic:
current_app.logger.info("Automatically subscribed to topic: {}".format(subscribed_topic))