Aħżen it-tasks f'time-bucketed / priority queue ibbażata fuq il-ħin dovut, agħmel poll biss tat-tasks dovuti issa, u għaddihom lil workers idempotenti b'delivery at-least-once. Qatt m'għandek tagħmel scan ta' 10M row kull tick — indexja skont il-fire time biex kull poll imiss biss dak li huwa dovut.
Arkitettura
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
