خزّن المهام في طابور موزّع زمنياً / حسب الأولوية (time-bucketed / priority queue) مُفهرَس بوقت الاستحقاق، واستطلع فقط المهام المستحقّة الآن، وسلّمها إلى عمّال idempotent بتسليم at-least-once. لا تمسح أبداً عشرة ملايين صفّ في كل نبضة (tick) — افهرِس حسب وقت الإطلاق كي تلمس كل عملية استطلاع ما استحقّ فقط.
البنية المعمارية
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
