JF
1. Достаются из БД записи (которые подошли под определенный фильтр);
2. На их основе генерируются по шаблону командные строки для запуска на удаленной машине (запуск хоть через какого-то агента, хоть просто по SSH) - это и есть наши таски/джобы;
3. Далее эти таски запускаются на уделенной машине, но с ограничением на кол-во параллельно запущенных тасков. Т.е. если например в пункте №2 сформировалось 100 команд на запуск, а ограничение на параллельность - 5 тасков, то соответственно запускаются первые 5, потом например 2-ой отработал - значит можно запускать 6-ой и так далее, пока все 100 не выполнятся;
4. Далее - переходим к пункту №1, опять делается выборка из базы и всё по кругу.
В основном записи из базы будут выбираться каждый раз одни и те же, просто их нужно постоянно по кругу запускать на удаленной машине. Но иногда будут добавляться и новые, либо удалятся старые. Удаленных машин может быть несколько.
Ну и конечно желательно чтобы были уведомления о свалившихся тасках, или долго работающих тасках. Плюс визуальный мониторинг что где запущенно.