def lambda_handler()

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