Simpen tugas ing time-bucketed / priority queue sing dikunci miturut wektu jatuh tempo, poll mung tugas sing jatuh tempo saiki, lan wenehke menyang worker idempotent kanthi pangiriman at-least-once. Aja tau nge-scan 10 yuta row saben tik — indeks miturut wektu fire supaya saben poll mung ndemek apa sing wis jatuh tempo.
Arsitektur
API ─▶ Task store (DB/Redis ZSET, score = due_ts) ── 10M tasks, sharded
│
Poller (leader per partition) ── ZPOPMIN due<=now ──▶ Ready queue (Kafka)
│ leader election (etcd/ZK) │
▼ ▼
other pollers idle/standby Worker pool (idempotent)
└─ ack ✔ / retry ✖ ─▶ DLQ
