summaryrefslogtreecommitdiff
path: root/docs/userguide
diff options
context:
space:
mode:
authorAsk Solem <ask@celeryproject.org>2013-10-01 17:30:26 +0100
committerAsk Solem <ask@celeryproject.org>2013-10-01 17:30:26 +0100
commit61c14b22f586b237a0d6bd4c6e68ef3365e2bcf1 (patch)
tree2b3b7bc28f070683cb4095589f203f6a00640688 /docs/userguide
parentb703282ec5eaf62e42f6be77f244b57bb262ebb8 (diff)
downloadkombu-61c14b22f586b237a0d6bd4c6e68ef3365e2bcf1.tar.gz
Adds kombu.async.timer (+ accidentally staged documentation fixes)
Diffstat (limited to 'docs/userguide')
-rw-r--r--docs/userguide/examples.rst8
-rw-r--r--docs/userguide/simple.rst38
2 files changed, 24 insertions, 22 deletions
diff --git a/docs/userguide/examples.rst b/docs/userguide/examples.rst
index 8dc3428c..0a8a4d8b 100644
--- a/docs/userguide/examples.rst
+++ b/docs/userguide/examples.rst
@@ -7,11 +7,11 @@
.. _hello-world-example:
Hello World Example
-==================
+===================
-Below example uses
+Below example uses
:ref:`guide-simple`
-to send helloworld message through
+to send helloworld message through
message broker (rabbitmq) and print received message
@@ -19,7 +19,7 @@ message broker (rabbitmq) and print received message
.. literalinclude:: ../../examples/hello_publisher.py
:language: python
-
+
:file:`hello_consumer.py`:
.. literalinclude:: ../../examples/hello_consumer.py
diff --git a/docs/userguide/simple.rst b/docs/userguide/simple.rst
index e11e0ccb..4cf98ec6 100644
--- a/docs/userguide/simple.rst
+++ b/docs/userguide/simple.rst
@@ -19,14 +19,18 @@ queue, exchange and routing key. If the need arises, you can specify
a :class:`~kombu.Queue` as the name argument instead.
In addition, the :class:`~kombu.Connection` comes with
-shortcuts to create simple queues using the current connection::
+shortcuts to create simple queues using the current connection:
+
+.. code-block:: python
>>> queue = connection.SimpleQueue('myqueue')
>>> # ... do something with queue
>>> queue.close()
-This is equivalent to::
+This is equivalent to:
+
+.. code-block:: python
>>> from kombu import SimpleQueue, SimpleBuffer
@@ -50,22 +54,21 @@ Here is an example using the :class:`~kombu.simple.SimpleQueue` class
to produce and consume logging messages:
.. code-block:: python
- from __future__ import with_statement
-
+
import socket
import datetime
from time import time
from kombu import Connection
-
-
+
+
class Logger(object):
-
+
def __init__(self, connection, queue_name='log_queue',
serializer='json', compression=None):
self.queue = connection.SimpleQueue(queue_name)
self.serializer = serializer
self.compression = compression
-
+
def log(self, message, level='INFO', context={}):
self.queue.put({'message': message,
'level': level,
@@ -74,31 +77,31 @@ to produce and consume logging messages:
'timestamp': time()},
serializer=self.serializer,
compression=self.compression)
-
+
def process(self, callback, n=1, timeout=1):
for i in xrange(n):
log_message = self.queue.get(block=True, timeout=1)
entry = log_message.payload # deserialized data.
callback(entry)
log_message.ack() # remove message from queue
-
+
def close(self):
self.queue.close()
-
-
+
+
if __name__ == '__main__':
from contextlib import closing
-
+
with Connection('amqp://guest:guest@localhost:5672//') as conn:
with closing(Logger(conn)) as logger:
-
+
# Send message
logger.log('Error happened while encoding video',
level='ERROR',
context={'filename': 'cutekitten.mpg'})
-
+
# Consume and process message
-
+
# This is the callback called when a log message is
# received.
def dump_entry(entry):
@@ -108,7 +111,6 @@ to produce and consume logging messages:
entry['level'],
entry['message'],
entry['context']))
-
+
# Process a single message using the callback above.
logger.process(dump_entry, n=1)
-