Code Monkey home page Code Monkey logo

rabbitmq-helloworld's Introduction

https://www.rabbitmq.com/tutorials/tutorial-one-python.html

Nosso primeiro programa send.py enviará uma única mensagem para a fila. A primeira coisa que precisamos fazer é estabelecer uma conexão com o servidor RabbitMQ.

Requisito:

Deve ter subido o servidor com os comandos:

docker pull rabbitmq:3.9-management
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management

Estamos conectados agora, a um broker na máquina local - daí o localhost . Se quisermos nos conectar a um broker em uma máquina diferente, basta especificar seu nome ou endereço IP aqui.

Em seguida, antes de enviar, precisamos garantir que a fila de destinatários exista. Se enviarmos uma mensagem para um local não existente, o RabbitMQ apenas descartará a mensagem. Vamos criar uma fila hello para a qual a mensagem será entregue:

Subindo o Container do RabbitMQ e Rodando Producer e Consumer manualmente

cd docker/05-rabbitmq-only
docker-compose -f 05-docker-compose-rabbitmq.yml up -d

Inicialize o ambiente:

poetry shell

Instale os packages:

poetry install

Execute o consumer.py em um terminal:

python consumer.py

Execute o producer.py em outro terminal:

python producer.py

Ao voltar no terminal do Consumer você deverá ver:

python consumer.py
 [*] Connecting to server ...
 [*] Waiting for messages. To exit press Ctrl+C
 [x] Recebida a mensagem b'iniciar'
Chamando inicia_contagem()
count: 1
count: 2
count: 3
count: 4
count: 5
count: 6
count: 7
count: 8
count: 9

Subindo os Containers com Traefik - Local

Nome da rede que vamos utilizar:

docker network create web

Suba o Traefik - Proxy Reverso com o comando:

cd docker/01-traefik
docker-compose -f 01-docker-compose-traefik-local.yml up -d

Acesse http://localhost:8080/

Depois suba o container do RabbitMQ:

cd docker/02-rabbitmq-traefik
docker-compose -f 02-docker-compose-rabbitmq.yml up -d

Acesse http://localhost:15672/ com login e senha: guest

Suba o container do Consumer e do Producer.

Lembrando que o Producer está programado para executar uma só vez.

rabbitmq-helloworld's People

Contributors

marcelopalin avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.