Publishes a simple notification.

    Inputs: - connection: A rabbitmq connection object.
            - queue_name: The name of the queue to be checked or created.
            - exchange_name: The name of the notification exchange.
            - routing_key: The routing key for the exchange-queue binding.
            - text_body: The text to be published.

def simple_notification(connection, queue_name, exchange_name, routing_key, text_body):
    """
    Publishes a simple notification.

    Inputs: - connection: A rabbitmq connection object.
            - queue_name: The name of the queue to be checked or created.
            - exchange_name: The name of the notification exchange.
            - routing_key: The routing key for the exchange-queue binding.
            - text_body: The text to be published.
    """
    channel = connection.channel()
    try:
        channel.queue_declare(queue_name, durable=True, exclusive=False, auto_delete=False)
    except PreconditionFailed:
        pass
    try:
        channel.exchange_declare(exchange_name, type="fanout", durable=True, auto_delete=False)
    except PreconditionFailed:
        pass
    channel.queue_bind(queue_name, exchange_name, routing_key=routing_key)

    message = Message(text_body)
    channel.basic_publish(message, exchange_name, routing_key)