Здраствуйте, есть такая схема

Где первый элемент это очередь вместимостью 6 элементов, а дальше 2 обработчика, суть в том, что с какой-то рандомной задержкой (1-2 секунды) мы запускаем в очередь элемент и если один из обработчиков пустой, то выпускаем элемент с очереди в обработчик, где он задерживается на 5 секунд и выходит, но пока обрабатываются элементы в обработчиках, очередь наполняется и по мере выхода из обработчика элементов в него заходят новые и так определенное кол-во времени. Я хочу это реализовать с помощью библиотеки
asyncio
(подскажите, ли лучший это вариант или нет), но не могу сообразить, как сделать это, ибо вначале нужно сформировать весь список тасков, а только потом его асинхронно запустить, но в данном случае его заранее сгенерировать не получиться ведь. Напишите, пожалуйста, свои мысли и натолкните на верный путь (желательно с какими-то примерами), ибо что-то я запутался слегка, всех заранее благодарю