No project description provided
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.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cd7f8c6ffbe5ae7419db59adc7b393966d276007ce1fda6f63522cafd6ff6c6 |
|
MD5 | ac752fba3bc8fc5705f18906bcae86fd |
|
BLAKE2-256 | 2ba480d06212419500cf7b7e4aaf780d19faefd8f9906d537d83345567f2cdf6 |