mirror of https://github.com/celery/kombu.git
90 lines
2.2 KiB
ReStructuredText
90 lines
2.2 KiB
ReStructuredText
.. currentmodule:: kombu.pidbox
|
|
|
|
.. automodule:: kombu.pidbox
|
|
|
|
.. contents::
|
|
:local:
|
|
|
|
Introduction
|
|
------------
|
|
|
|
Creating the applications Mailbox
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. code-block:: python
|
|
|
|
>>> mailbox = pidbox.Mailbox("celerybeat", type="direct")
|
|
|
|
>>> @mailbox.handler
|
|
>>> def reload_schedule(state, **kwargs):
|
|
... state["beat"].reload_schedule()
|
|
|
|
>>> @mailbox.handler
|
|
>>> def connection_info(state, **kwargs):
|
|
... return {"connection": state["connection"].info()}
|
|
|
|
Example Node
|
|
~~~~~~~~~~~~
|
|
|
|
.. code-block:: python
|
|
|
|
>>> connection = kombu.BrokerConnection()
|
|
>>> state = {"beat": beat,
|
|
"connection": connection}
|
|
>>> consumer = mailbox(connection).Node(hostname).listen()
|
|
>>> try:
|
|
... while True:
|
|
... connection.drain_events(timeout=1)
|
|
... finally:
|
|
... consumer.cancel()
|
|
|
|
Example Client
|
|
~~~~~~~~~~~~~~
|
|
|
|
.. code-block:: python
|
|
|
|
>>> mailbox.cast("reload_schedule") # cast is async.
|
|
>>> info = celerybeat.call("connection_info", timeout=1)
|
|
|
|
Mailbox
|
|
-------
|
|
|
|
.. autoclass:: Mailbox
|
|
|
|
.. autoattribute:: namespace
|
|
.. autoattribute:: connection
|
|
.. autoattribute:: type
|
|
.. autoattribute:: exchange
|
|
.. autoattribute:: reply_exchange
|
|
|
|
.. automethod:: Node
|
|
.. automethod:: call
|
|
.. automethod:: cast
|
|
.. automethod:: abcast
|
|
.. automethod:: multi_call
|
|
.. automethod:: get_reply_queue
|
|
.. automethod:: get_queue
|
|
|
|
Node
|
|
----
|
|
|
|
.. autoclass:: Node
|
|
|
|
.. autoattribute:: hostname
|
|
.. autoattribute:: mailbox
|
|
.. autoattribute:: handlers
|
|
.. autoattribute:: state
|
|
.. autoattribute:: channel
|
|
|
|
.. automethod:: Consumer
|
|
.. automethod:: handler
|
|
.. automethod:: listen
|
|
.. automethod:: dispatch
|
|
.. automethod:: dispatch_from_message
|
|
.. automethod:: handle_call
|
|
.. automethod:: handle_cast
|
|
.. automethod:: handle
|
|
.. automethod:: handle_message
|
|
.. automethod:: reply
|
|
|