python-banshee icon indicating copy to clipboard operation
python-banshee copied to clipboard

feat: channels

Open danielknell opened this issue 2 years ago • 0 comments

Description

Allow a message to be delegated to "channels" where it will be passed to a background worker.

Context

It mean's work can be carried out by background workers, or sent to other microservices, rather than being dependent on the receiving process.

Possible implementation

An abstract Channel class supporting the following operations:

  • read -- read and unserialise messages from the channel
  • send -- serialise and send a message to the channel
  • ack -- acknowledge that a message was processed successfully
  • reject -- prevent any retrying of a message

This would be used by a ExternalMiddleware and Worker class which would handle adding messages to the transport and processing them.

The registry will need to provide a means to associate a request type with a transport.

danielknell avatar May 09 '22 19:05 danielknell