Здравствуйте!
Есть N объектов, для каждого нужно посчитать статистику.
Сейчас статистика считается скриптами по крону.
Проблема в том, как распределить нагрузку равномерно по времени в зависимости от N.
Сейчас тупо есть скрипт, которому передается аргумент - число S (шаг) - а он запускает C скриптов для объектов [C*S, C*S+M], где M - константа, указанная в скрипте.
Т.е. у нас есть 10 объектов, M = 4, например, мы запускаем скрипт c шагом 0:
script 0
И он запускает скрипты для объектов с 0 по 4. В другое время - для объектов с 5 по 8, в другое - для остальных.
Проблем несколько:
1. Нагрузка не распределяется по времени в зависимости от количества объектов. Т.е. если у нас 100 объектов, а M = 50, то за 1ую итерацию обрабатываться будут 50 объектов, за вторую - остальные 50.
Если у нас 50 объектов - то они абсолютно так же будут обрабатываться за 1 итерацию.
Т.е. надо как-то динамически менять параметр M в зависимости от кол-ва объектов. Как это лучше делать? И если менять динамически, то возникает проблема:
2. Все делается по сути вручную правкой кронтаб. Как это все лучше автоматизировать?
PS: Прошу прощения за некоторую сумбурность и абстрактность.