SQLiteDLQSink¶
Use this when: failed records need a built-in local DLQ without adding Redis or PostgreSQL.
SQLiteDLQSink stores DLQRecord entries in a local SQLite database.
Good fits¶
- local development
- single-process deployments
- recovery workflows where a file-backed DLQ is enough
Characteristics¶
- created automatically on first use
- stores replay metadata and serialized records
- not designed for multi-process concurrent writers
- pairs with
SQLiteDLQSource
Example¶
from agora import DeliveryConfig, Pipeline
from agora.core.dlq import SQLiteDLQSink
dlq = SQLiteDLQSink(".agora_dlq.db")
summary = await (
Pipeline(source)
.build(real_sink, config=DeliveryConfig(dlq=dlq))
.run()
)
Boundaries¶
For shared operational replay across multiple workers, use a plugin-backed DLQ instead of SQLite.