import sys from datetime import datetime import pika _QUEUE_NAME = "vk_messages_queue" _EXCHANGE_NAME = "vk_messages" def main(): connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) channel = connection.channel() channel.exchange_declare( exchange=_EXCHANGE_NAME, exchange_type='fanout' ) channel.queue_declare(queue=_QUEUE_NAME, exclusive=True) channel.queue_bind(exchange=_EXCHANGE_NAME, queue=_QUEUE_NAME) def callback(ch, method, properties, body): now = datetime.now() current_time = now.strftime("%H:%M:%S") print(f"[vkReader] Received [{str(body)}] in [{current_time}]") ch.basic_ack(delivery_tag=method.delivery_tag) channel.basic_consume( queue=_QUEUE_NAME, on_message_callback=callback, auto_ack=False ) print('[*] Waiting for messages. To exit press CTRL+C') channel.start_consuming() if __name__ == '__main__': try: main() except KeyboardInterrupt: print('Interrupted') sys.exit(0)