설치 후 간단한 예제 "Hello World!"를 실습해보았다.
https://www.rabbitmq.com/getstarted.html에 나와있는 대표적인 예제
파이썬 파일을 이용하기 위해서 필요한 모듈 설치
apt-get install python3-pip
python -m pip install pika –upgrade
참고할만한 명령어
RabbitMQ에 포함된 큐와 그 안에 있는 메시지 수 확인 가능
sudo rabbitmqctl list_queues
1번 Hello World!
단일 메시지를 보내는 Producer
메시지를 받고 이를 출력하는 Consumer
메시지를 보관하는 Queue
[send.py]
해당 파일을 통해서 하나의 메시지를 큐에 보낸다.
첫 번째로 RabbitMQ 서버와 연결을 설정한다.
코드에 대한 설명
#!/usr/bin/env python
import pika
#RabbitMQ 서버에 연결
#connection과 channel를 생성
connection = pika.BlockingConnection(
pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
#queue_declare: channel를 통해 queue 선언(declare)
channel.queue_declare(queue='hello')
#channel의 publish(sending)
#routing_key: Queue 이름
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
print(" [x] Sent 'Hello World!'")
#connection 연결 종료
connection.close()
[receive.py]
큐에서 메시지를 받아 화면에 출력한다.
첫 번째로 RabbitMQ 서버와 연결을 설정한다.
코드에 대한 설명
#!/usr/bin/env python
import pika, sys, os
def main():
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
#queue를 선언(declare)
channel.queue_declare(queue='hello')
#Receiving 받을 함수 handler 정의
#callback 함수는 pika 라이브러리에 의해 호출
def callback(ch, method, properties, body):
print(" [x] Received %r" % body.decode())
#Queue가 'hello'의 consuming 설정
channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)
#consuming start
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
print('Interrupted')
try:
sys.exit(0)
except SystemExit:
os._exit(0)
결과
[send.py]
[receive.py]
참고
우분투에서 설치방법
python 예제
https://blog.storyg.co/rabbitmqs/tutorials/python/01-hellowolrd
'OS > OpenSource' 카테고리의 다른 글
[RabbitMQ] RabbitMQ 정의 및 설치방법(in Ubuntu) (286) | 2021.07.12 |
---|