-
Notifications
You must be signed in to change notification settings - Fork 0
/
emit_log.py
31 lines (25 loc) · 1.01 KB
/
emit_log.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
####
# Iremos entregar mensagens para múltiplos consumidores.
# Esse padrão é conhecido como publish/subscribe
#
# Lembre-se:
# Um produtor é um aplicativo de usuário que envia mensagens.
# Uma fila é um buffer que armazena mensagens.
# Um consumidor é um aplicativo de usuário que recebe mensagens.
# Existem alguns tipos de intercâmbio (exchange) disponíveis:
# direto, tópico, cabeçalhos e fanout.
# Vamos nos concentrar no último - o fanout.
# Ele transmite todas as mensagens que recebe para todas as filas que conhece.
#!/usr/bin/env python
import pika
import sys
# Conectando com o RabbitMQ
connection = pika.BlockingConnection(
pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
# Vamos criar uma troca tipo fanout e chamar de logs
channel.exchange_declare(exchange='logs', exchange_type='fanout')
message = ' '.join(sys.argv[1:]) or "info: Hello World!"
channel.basic_publish(exchange='logs', routing_key='', body=message)
print(" [x] Sent %r" % message)
connection.close()