in ApplicationCode/dockerfiles/stage-b-redrive/src/lambda_function.py [0:0]
def lambda_handler(event, context):
try:
team = os.environ['TEAN']
pipeline = os.environ['PIPELINE']
dataset = event['dataset']
state_config = StateMachineConfiguration(team, pipeline)
sqs_config = SQSConfiguration(team, pipeline, dataset)
dlq_interface = SQSInterface(sqs_config.get_post_stage_dlq_name)
messages = dlq_interface.receive_messages(1)
if not messages:
logger.info('No messages found in {}'.format(sqs_config.get_post_stage_dlq_name))
return
logger.info('Received {} messages'.format(len(messages)))
for message in messages:
logger.info('Starting State Machine Execution')
if isinstance(message.body, str):
response = json.loads(message.body)
StatesInterface().run_state_machine(state_config.get_post_stage_state_machine_arn, response)
message.delete()
logger.info('Delete message succeeded')
except Exception as e:
logger.error("Fatal error", exc_info=True)
raise e
return