Custom consumer for celery integration
Project description
Celery Skinos
Custom consumer for celery integration.
Usage
from skinos.custom_consumer import CustomConsumer
Define a new exchange
defined a new exchange with a name and a binding key (always a topic). The exchange name must be unique.
# add_exchange(str, str) -> Exchange
CustomConsumer.add_exchange('test', "test.*.*")
Define a new task
Define a new message handler
decoration take 3 arguments:
- exchange name (must be defined)
- queue name (must be defined)
- queue binding key
Function but have this prototype: (str, Message) -> Any
body
is the payloadmsg
is the message object (kombu.transport.myamqp.Message)
# consumer(str, str, str) -> Callable[[str, Message], Any]
@CustomConsumer.consumer('test', 'test.test', 'test.test.*')
def coucou(body, msg):
print('payload content : {}'.format(body))
print('message object content : {}'.format(msg))
Build consumers for Celery integration
Build consumers itself. all previous methods are just a pre-configuration for this build. It take one argument, which is the Celery app.
# build(Celery) -> None
CustomConsumer.build(app)
Add Sentry handler
You must init Sentry normally for a Celery project. Then Skinos is able to catch exception and send it sentry.
set sentry to True and set raise to False (i.e: if error occur, error is not re-raise, but ignored) if you don't use it, default values are False and False
# with_sentry(bool, bool) -> Tuple(bool, bool)
CustomConsumer.with_sentry(False, False)
Run celery
Run celery normally
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for celery_skinos-1.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2b4e1d8e36a198d1b72a96f3c70d8cd384fd448a488ee2662a2b00ff3d24170 |
|
MD5 | 86c85bb1ca40c3e5f9d64d5bbb03fae0 |
|
BLAKE2b-256 | 9c827c9041a1590fbadf6b4332d1bc6a6c5a080f539f2f2671dfb9ced4d6b412 |