Sending 800k push notifications without loading 800k rows
Chunked reads, a semaphore of two, and one retry pass at the end: the design behind a scheduler that sends 700-800k notifications per run in 6-8 minutes.
Built the scheduler behind bulk push campaigns: 700–800k notifications per run in 7–8 minutes, read in chunks and sent with controlled parallelism to Android (FCM) and Huawei devices.
Pick a step to replay it
A campaign can target 800k or more MSISDNs. Loading that many recipients into memory at once would take the system down, and anything that fails to send still has to go out.
Stack.NET, Schedulers, Semaphore, FCM and HMS Push
Chunked reads, a semaphore of two, and one retry pass at the end: the design behind a scheduler that sends 700-800k notifications per run in 6-8 minutes.
In the Mixx Tanzania app, every Redis call was opening its own connection. At peak that went past the connection limit and caused downtime, so I replaced it with one shared, multiplexed connection.
Built with.NET, Redis and Connection multiplexing
Read case studyOpen to product, full stack & backend roles.