Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

classic-messaging-0.0.2.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

classic_messaging-0.0.2-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

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

Hashes for classic-messaging-0.0.2.tar.gz
Algorithm Hash digest
SHA256 4005d5709c18665811d075bd106e1c3384049cfa16a2dde916822a63fd2b0a94
MD5 d21f129adf3e733ab242bac06ec0ade2
BLAKE2b-256 6d6f14540c0eb5b76540e1f1b5587ef738baf6e04e93e0010b78938f3a92d12f

See more details on using hashes here.

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

Hashes for classic_messaging-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5fcce7b730e64704a88916b0df233f6bc95631d83c061680a368f2c941e81e5b
MD5 997f22805fba9d5170fab45af106a195
BLAKE2b-256 31fe47ab391f8308d8e60dbe3fc2f6001cfcd86418aadfe37d416a5f6ddaddd0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page