Provides abstract classes for messages publication in async queues
Project description
Classic Messaging
This package provides abstract classes for message queues.
Usage:
from classic.components import component
from classic.messaging import Message, Publisher
@component
class SomeService:
publisher: Publisher
def do_some_work(self):
message = Message('target', 'Some very useful info')
self.publisher.publish(message)
Publisher have inner buffer. Messages can be planned for publishing, and will be published later
Usage with deferred publishing:
from classic.components import component
from classic.messaging import Message, Publisher
@component
class SomeService:
publisher: Publisher
def create_message(self):
message = Message('target', 'Some very useful info')
self.publisher.plan(message)
def do_some_work(self):
try:
self.create_message()
except Exception:
self.publisher.reset()
raise
else:
self.publisher.flush()
Usage with join_points:
from classic.components import component
from classic.messaging import Message, Publisher
from classic.aspects import join_poin
@component
class SomeService:
publisher: Publisher
@join_poin
def do_some_work(self):
message = Message('target', 'Some very useful info')
self.publisher.plan(message)
class RealPublisher(Publisher):
def publish(self, message):
print(message)
publisher = RealPublisher()
SomeService.do_some_work.join(publisher)
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
File details
Details for the file classic-messaging-0.0.2.tar.gz
.
File metadata
- Download URL: classic-messaging-0.0.2.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4005d5709c18665811d075bd106e1c3384049cfa16a2dde916822a63fd2b0a94 |
|
MD5 | d21f129adf3e733ab242bac06ec0ade2 |
|
BLAKE2b-256 | 6d6f14540c0eb5b76540e1f1b5587ef738baf6e04e93e0010b78938f3a92d12f |
File details
Details for the file classic_messaging-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: classic_messaging-0.0.2-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fcce7b730e64704a88916b0df233f6bc95631d83c061680a368f2c941e81e5b |
|
MD5 | 997f22805fba9d5170fab45af106a195 |
|
BLAKE2b-256 | 31fe47ab391f8308d8e60dbe3fc2f6001cfcd86418aadfe37d416a5f6ddaddd0 |