diff options
| author | Ask Solem <ask@celeryproject.org> | 2013-10-01 17:30:26 +0100 |
|---|---|---|
| committer | Ask Solem <ask@celeryproject.org> | 2013-10-01 17:30:26 +0100 |
| commit | 61c14b22f586b237a0d6bd4c6e68ef3365e2bcf1 (patch) | |
| tree | 2b3b7bc28f070683cb4095589f203f6a00640688 /docs/userguide | |
| parent | b703282ec5eaf62e42f6be77f244b57bb262ebb8 (diff) | |
| download | kombu-61c14b22f586b237a0d6bd4c6e68ef3365e2bcf1.tar.gz | |
Adds kombu.async.timer (+ accidentally staged documentation fixes)
Diffstat (limited to 'docs/userguide')
| -rw-r--r-- | docs/userguide/examples.rst | 8 | ||||
| -rw-r--r-- | docs/userguide/simple.rst | 38 |
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) - |
