이번에는 이저에 Django에서 했던 과정을 똑같이 Flask에 옮겨서 간단히 테스팅해보도록 하는 시간을 가져보도록 하겠습니다.
/boss/consumer.py
from pika import URLParameters, BlockingConnection
# 파라미터 설정
params = URLParameters('amqps://vjmczupx:MOf1ZIEhCOj58rh-oSQd0Mrg_BpiVfUD@dingo.rmq.cloudamqp.com/vjmczupx')
# 커넥션 ( 인스턴스에 접근 하는 것 )
connection = BlockingConnection(params)
# 통로 ( 채널 )을 뚫어주는 것
channel = connection.channel()
# 나는 order로 보낸 메세지만 받겠다라는 으미
channel.queue_declare(queue='boss')
def callback(ch, method, properties, body):
print('Received in boss')
print(body)
# channel을 basic한 consume을 하겠다는 의미 ( order로 보낸 메세지만 받겠다 )
channel.basic_consume(queue='boss', on_message_callback=callback)
print('Started consuming')
channel.start_consuming()
channel.close()
그냥 간단히 이전에 코드에 대상을 boss로 다 바꾼것입니다.
이제 바로 docker-compose up을 boss, order 둘다 해주겠습니다. 그리고 boss의 backend bash을 열어서 python consumer.py을 한다음에 :8000 GET /api/shop을 해서 hello boss가 잘 찍히는지 보겠습니다.
네 boss, order 두 서비스간의 소통이 제대로 되고 있음을 확인할 수 있습니다.