summaryrefslogtreecommitdiff
path: root/examples/complete_send.py
blob: 1179059031325afefed3dd3fbe06fbc91f262526 (plain)
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
32
33
34
35
"""

Example producer that sends a single message and exits.

You can use `demo_receive.py` to receive the message sent.

"""

from kombu import BrokerConnection, Exchange, Queue, Producer

#: By default messages sent to exchanges are persistent (delivery_mode=2),
#: and queues and exchanges are durable.
exchange = Exchange("kombu_demo", type="direct")
queue = Queue("kombu_demo", exchange, routing_key="kombu_demo")


#: Create connection and channel.
#: If hostname, userid, password and virtual_host is not specified
#: the values below are the default, but listed here so it can
#: be easily changed.
connection = BrokerConnection(hostname="localhost",
                              userid="guest",
                              password="guest",
                              virtual_host="/")
channel = connection.channel()

#: Producers are used to publish messages.
#: Routing keys can also be specifed as an argument to `publish`.
producer = Producer(channel, exchange, routing_key="kombu_demo")

#: Publish the message using the json serializer (which is the default),
#: and zlib compression.  The kombu consumer will automatically detect
#: encoding, serializiation and compression used and decode accordingly.
producer.publish({"hello": "world"}, serializer="json",
                                     compression="zlib")