На вход поступают разовые задачи. Выполнение их требует некого времени.
Задачи можно группировать в пачки по N, и они выполнятся быстро, по времени как одна. Не параллелится: отправили 1 или несколько на выполнение – ждём результат.
Пока вижу два варианта:
- То ли запускать первое выполнение сразу же, как поступило первое задание. Это неэффективно, когда поступает сразу несколько заданий – их можно было бы запустить одной пачкой, а так уйдёт 1-е и потом уже все минус 1-е – за два "такта".
- То ли выжидать какое-то время перед выполнением на случай поступления сразу-многих заданий. Тогда неэффективный простой в случае единичного задания.
Что говорят мировые лучшие практики на сей счёт?