Tobox: a transactional outbox framework
The first version of tobox (v0.1.0) has been released.
tobox implements the consumer side of the transactional outbox pattern, providing a simple way to configure your event handlers.
tobox executes your handlers in a worker pool. The worker pool can be thread-based (default) or fiber-based.
It uses the “SKIP LOCKED” SQL dialect to support concurrent polling for events from the database outbox table.
It ships with plugins for sentry, datadog and zeitwerk. The plugin system is itself very simple, so you can add your own custom logic around event processing.
It can be used as a background job processor, although it’s best used in tandem with an existing framework.