"""Async audit worker using RabbitMQ.""" import json import os import pika RABBITMQ_URL = os.getenv("RABBITMQ_URL", "amqp://guest:guest@localhost:5672/") def main() -> None: params = pika.URLParameters(RABBITMQ_URL) connection = pika.BlockingConnection(params) channel = connection.channel() channel.queue_declare(queue="audit", durable=True) def callback(ch, method, properties, body): _ = json.loads(body.decode("utf-8")) ch.basic_ack(delivery_tag=method.delivery_tag) channel.basic_qos(prefetch_count=10) channel.basic_consume(queue="audit", on_message_callback=callback) channel.start_consuming() if __name__ == "__main__": main()