Как раскидать очередь задач по хостам и потокам на Perl?
Суть такова: есть пачка коммандников, которые нужно запускать очередью с раскидыванием их по хостам в несколько потоков на каждом (Например, есть 3 хоста, на каждом надо запустить по три коммандника за раз). Сейчас реализовал через велосипед на OpenSSH::Parallel: подключаемся к нужным хостам, а уже на каждом из них через xargs пускаем всю пачку коммандников. В каждом комманднике стоит костыльная проверка на выполнение (если уже создана папка с именем коммандника, значит, он выполняется на другом хосте или уже выполнен, и пропускаем его). Беда в том, что во-первых, реализация очень плоха, во-вторых, иногда один и тот же коммандник умудряется запуститься сразу на 2х серверах.
Собственно, как раскидывать коммандники по хостам из общей очереди, да чтобы на каждом сервере выполнялось по несколько штук?
Никогда раньше не сталкивался, посему нубский вопрос: эта штука может из единой очереди на сервере передавать постепенно имя коммандника worker'у, да так, чтоб по мере завершения, например, одного из 4х процессов на воркере, туда сразу вбрасывался следующий?
Там очереди насколько я помню по имени задачи ... а задачи можно сколько поднимается сколько нужно воркеров. Команду можно передавать как параметр у задачи.