← Back to FAQ

How do I queue commission cycles for thousands of distributors?

Horizon plus Redis. Use Bus::batch() for parallelism with completion callbacks.

Horizon plus Redis queues. Dispatch one job per distributor with Bus::batch() for parallel calculation with completion callbacks; this gives you progress reporting and the ability to handle batch completion as a single event. Monitor lag in Horizon's dashboard; if the queue depth grows during high-volume periods, scale horizontally by adding queue workers. Don't run commission calculations synchronously during checkout; the latency impact and the failure mode (a queue worker can fail and retry, a synchronous checkout cannot) make queue-backed calculation the clear default.