The program consists of many producers and consumers messaging each other concurrently through a simple load balancer.
erl
c(consumer), c(producer), c(loadbalancer), c(watcher), c(main).
main:start({producer, 4, 1000}, {consumer, 2, 1000}).
Where:
{producer, NumWorkers, JobIntervalms}, {consumer, NumWorkers, JobIntervalms}
The program can be stopped with main:stop().