[2] RabbitMQ – Python
22 marca 2022To jest przykład użycia RabbitMQ w Pythonie.
[1] Zainstaluj bibliotekę klienta AMQP.
# zainstaluj z EPEL [root@vlsr01 ~]# dnf --enablerepo=epel install python3-pika
[2] To jest przykład wysyłania wiadomości w Pythonie.
Na przykład połącz się z RabbitMQ na [localhost] z użytkownikiem [zicherlab], virtualhost [my_vhost].
[user01@vlsr01 ~]# mcedit send_msg.py # stwórz nowy import pika credentials = pika.PlainCredentials('zicherlab', 'TajneHasło') connection = pika.BlockingConnection(pika.ConnectionParameters( 'localhost', 5672, '/my_vhost', credentials)) channel = connection.channel() channel.queue_declare(queue='Hello_World') channel.basic_publish(exchange='', routing_key='Hello_World', body='Hello RabbitMQ World!') print(" [x] Sent 'Hello_World'") connection.close() [user01@vlsr01 ~]# python3 send_msg.py [x] Sent 'Hello_World'
[3] Zainstaluj bibliotekę klienta AMQP.
# zainstaluj z EPEL [root@vlsr02 ~]# dnf --enablerepo=epel install python3-pika
[4] To jest przykład odbierania wiadomości w Pythonie.
[user01@vlsr02 ~]$ mcedit receive_msg.py # stwórz nowy import signal import pika signal.signal(signal.SIGPIPE, signal.SIG_DFL) signal.signal(signal.SIGINT, signal.SIG_DFL) credentials = pika.PlainCredentials('zicherlab', 'TajneHasło') connection = pika.BlockingConnection(pika.ConnectionParameters( '192.168.100.101', 5672, '/my_vhost', credentials)) channel = connection.channel() channel.queue_declare(queue='Hello_World') def callback(ch, method, properties, body): print(" [x] Received %r" % body) channel.basic_consume('Hello_World', callback, auto_ack=True) print(' [*] Waiting for messages. To exit press CTRL+C') channel.start_consuming() [user01@vlsr02 ~]$ python3 receive_msg.py [*] Waiting for messages. To exit press CTRL+C [x] Received b'Hello RabbitMQ World!' # odebrano wiadomość wysłaną w [2]