コード例 #1
0
def replay_daily_sorted_count_files(file_extension):
    bucket_location = '{}-ftp'.format(current_app.config['NOTIFY_EMAIL_DOMAIN'])
    for filename in s3.get_list_of_files_by_suffix(bucket_name=bucket_location,
                                                   subfolder='root/dispatch',
                                                   suffix=file_extension or '.rs.txt'):
        print("Create task to record daily sorted counts for file: ", filename)
        record_daily_sorted_counts.apply_async([filename], queue=QueueNames.NOTIFY)
コード例 #2
0
def process_letter_response():
    req_json = request.get_json(force=True)
    current_app.logger.debug('Received SNS callback: {}'.format(req_json))
    if not autoconfirm_subscription(req_json):
        # The callback should have one record for an S3 Put Event.
        message = json.loads(req_json['Message'])
        filename = message['Records'][0]['s3']['object']['key']
        current_app.logger.info('Received file from DVLA: {}'.format(filename))

        if filename.lower().endswith('rs.txt') or filename.lower().endswith('rsp.txt'):
            current_app.logger.info('DVLA callback: Calling task to update letter notifications')
            update_letter_notifications_statuses.apply_async([filename], queue=QueueNames.NOTIFY)
            record_daily_sorted_counts.apply_async([filename], queue=QueueNames.NOTIFY)

    return jsonify(
        result="success", message="DVLA callback succeeded"
    ), 200