Files
notifications-api/app/letters/rest.py
2022-12-08 09:55:21 -05:00

29 lines
1.0 KiB
Python

from flask import Blueprint, jsonify, request
from app.config import QueueNames
from app.letters.letter_schemas import letter_references
from app.schema_validation import validate
from app.v2.errors import register_errors
letter_job = Blueprint("letter-job", __name__)
register_errors(letter_job)
# too many references will make SQS error (as the task can only be 256kb)
# Maybe doesn't matter anymore with Redis as the celery backing store
MAX_REFERENCES_PER_TASK = 5000
# TODO: return deactivation notice
# @letter_job.route('/letters/returned', methods=['POST'])
# def create_process_returned_letters_job():
# references = validate(request.get_json(), letter_references)['references']
# for start_index in range(0, len(references), MAX_REFERENCES_PER_TASK):
# process_returned_letters_list.apply_async(
# args=(references[start_index:start_index + MAX_REFERENCES_PER_TASK], ),
# queue=QueueNames.DATABASE,
# compression='zlib'
# )
# return jsonify(references=references), 200