feat: make notification delivery durable

This commit is contained in:
benya
2026-07-23 00:17:38 +03:00
parent 61b1c06205
commit 5d6fa00e94
24 changed files with 710 additions and 136 deletions
+5
View File
@@ -39,6 +39,11 @@ Core tables:
- `notification_settings`
- `notification_deliveries`
Notification delivery uses a persistent SQLite queue. Workers atomically claim ready rows
with a lease, increment the attempt counter, and finish them as `sent`, `retry`, or
`dead_letter`. Expired leases are claimable after a process restart. Terminal history has
an independent retention period; queued, retrying, and in-flight rows are preserved.
## Agent
The agent is a small Go binary and uses tools normally available on OpenWrt for platform