Message Bus
Messaging Channels
NATSQueue
Bases: AbstractMessageQueue[Generic[T]], ABC
A distributed message queue on top of NATS Jetstream.
Source code in germinate_ai/message_bus/message_queue.py
NatsConnection
NATS connection singleton class.
Source code in germinate_ai/message_bus/nats/connection.py
ROMessageChannel
Bases: AbstractMessageChannel
A Read Only Message Channel
Source code in germinate_ai/message_bus/message_channels.py
connect()
async
Connect to the message bus.
Source code in germinate_ai/message_bus/message_channels.py
read(batch=1)
async
Read batch messages from the channel.
Source code in germinate_ai/message_bus/message_channels.py
RWMessageChannel
Bases: WOMessageChannel, ROMessageChannel
A Read/Write Message Channel
WOMessageChannel
Bases: AbstractMessageChannel
A Write Only Message Channel
Source code in germinate_ai/message_bus/message_channels.py
nats_connection(nats_url=NATS_URL)
async
NATS connection context manager that opens and closes the connection for you.
Source code in germinate_ai/message_bus/nats/connection.py
ro_message_channel_factory(stream, subject, durable_consumer=None, connection=None)
Create a Read Only Message Channel
Source code in germinate_ai/message_bus/factories.py
rw_message_channel_factory(stream, subject, durable_consumer=None, connection=None)
Create a Read Only Message Channel
Source code in germinate_ai/message_bus/factories.py
wo_message_channel_factory(stream, subject, durable_consumer=None, connection=None)
Create a Read Only Message Channel