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)
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