from actions_logging.app_logging import logger
from aws.env_info import get_env_region
import boto3




def stop_ecs_tasks(env_name, svc_name):
    """ Stop ECS tasks for a given service in a specified environment.
    Args:
        env_name (str): The name of the environment.
        svc_name (str): The name of the ECS service.
    """
    try:
        region = get_env_region(env_name)
        cluster = f"{env_name}-micro-services"
        ecs = boto3.client("ecs", region_name=region)
        response = ecs.list_tasks(cluster=cluster, serviceName=svc_name)
        task_arns = response.get("taskArns", [])
        if not task_arns:
            logger.info("No running tasks found.")
        else:
            for task_arn in task_arns:
                logger.info(f"stopping task: {task_arn}")
                ecs.stop_task(cluster=cluster, task=task_arn)
            logger.info(f"Stopped tasks: {task_arns}")

    except Exception as e:
        raise Exception(f"Error stopping ECS tasks: {e}")