"""
Simple test tasks for Celery functionality.
"""
import time
import logging
from celery import shared_task

logger = logging.getLogger(__name__)


@shared_task(name='mainapp.test_celery_connection')
def test_celery_connection(message="Hello from Celery!"):
    """
    A simple test task to verify Celery is working.
    
    Args:
        message (str): Message to return
        
    Returns:
        str: Confirmation message with task completion time
    """
    logger.info(f"Test task started with message: {message}")
    time.sleep(2)  # Simulate some work
    result = f"Task completed! Received message: {message}"
    logger.info(f"Test task completed: {result}")
    return result


@shared_task(name='mainapp.add_numbers')
def add_numbers(x, y):
    """
    A simple addition task to test Celery functionality.
    
    Args:
        x (int): First number
        y (int): Second number
        
    Returns:
        int: Sum of x and y
    """
    logger.info(f"Adding {x} + {y}")
    result = x + y
    logger.info(f"Addition completed: {x} + {y} = {result}")
    return result


@shared_task(name='mainapp.long_running_task')
def long_running_task(duration=10):
    """
    A task that runs for a specified duration to test long-running tasks.
    
    Args:
        duration (int): Duration in seconds
        
    Returns:
        str: Completion message
    """
    logger.info(f"Starting long running task for {duration} seconds")
    for i in range(duration):
        time.sleep(1)
        logger.info(f"Long task progress: {i+1}/{duration}")
    
    result = f"Long running task completed after {duration} seconds"
    logger.info(result)
    return result
