"""
Queue management module.

This module provides functionality for managing RabbitMQ queues
and asynchronous task processing.
"""

from app.queues.rabbitmq_client import (
    RabbitMQClient,
    create_rabbitmq_client
)
from app.queues.producers import (
    publish_scraping_task,
    publish_sentiment_analysis_task,
    publish_energy_calculation_task,
    publish_result
)
from app.queues.consumers import (
    consume_scraping_tasks,
    consume_sentiment_analysis_tasks,
    consume_energy_calculation_tasks,
    consume_results
)

__all__ = [
    'RabbitMQClient',
    'create_rabbitmq_client',
    'publish_scraping_task',
    'publish_sentiment_analysis_task',
    'publish_energy_calculation_task',
    'publish_result',
    'consume_scraping_tasks',
    'consume_sentiment_analysis_tasks',
    'consume_energy_calculation_tasks',
    'consume_results'
]
