Message Bus Command Sender¶
message_bus_command_sender
¶
Message-bus-backed CommandSenderPort adapter.
Delegates command dispatch to an injected MessageBusPort.
MessageBusCommandSender
¶
Bases: CommandSenderPort[CommandPayloadType]
Infrastructure adapter that sends commands via a MessageBusPort.
Implements CommandSenderPort by delegating send to
MessageBusPort.dispatch.
Example
class Command[T]:
def __init__(self) -> None:
pass
class InMemoryMessageBus[MT, R]:
async def dispatch(self, message: MT) -> R: ...
def register(self, message_type, handler): ...
class MyCommand(Command[dict[str, object]]):
def __init__(self) -> None:
pass
bus = InMemoryMessageBus[MyCommand, None]()
sender = MessageBusCommandSender[dict[str, object]](bus)
await sender.send(MyCommand())
Source code in src/forging_blocks/infrastructure/message_bus/message_bus_command_sender.py
send(command: Command[CommandPayloadType]) -> None
async
¶
Send a command asynchronously via the message bus.