Я хочу запланировать highstate
бегать каждую ночь, но не параллельно. Есть ли способ добавить batch
вариант с системой расписания?
Пример:
schedule:
highstate:
enabled: True
function: state.highstate
maxrunning: 1
when: 3:00am
kwargs:
batch: 1
В идеале я хотел бы также рандомизировать время, когда он запускается. Думаю, я мог бы запланировать запуск каждые два часа в течение одного часа, чтобы он запускался только один раз:
schedule:
highstate:
enabled: True
function: state.highstate
maxrunning: 1
range:
start: 3:00am
end: 4:00am
hours: 2
kwargs:
batch: 1
При запуске высокого состояния от мастера вы можете использовать функцию, известную как пакетный режим.
В --batch-size
Флаг позволяет вам указать, сколько миньонов сражаться параллельно. Вы можете использовать команду ниже:
salt --batch-size 1 '*' state.highstate
Что касается времени, когда он работает, вы можете использовать splay
аргумент вроде следующего:
splay:
start: 10
end: 15
Это покажет время от 10 до 15 секунд.
Если вы хотите использовать его с системой планирования:
редактировать /etc/anacrontab
и добавить RANDOM DELAY
и START_HOURS_RANGE
параметры:
# The maximal random delay added to the base delay of the jobs
RANDOM_DELAY=60
# interval, when scheduled jobs can be run, in hours
START_HOURS_RANGE=3-4
1 10 update.daily /usr/bin/salt --batch-size 1 '*' state.highstate