Установить перезапуск пула приложений по умолчанию через командную строку

Я пытаюсь выполнить следующую команду в начале веб-роли Azure, чтобы установить конкретное время, в течение которого пул приложений будет перезапущен:

%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.recycling.periodicRestart.schedule.[value='00:08:00']

Но когда я это делаю, я получаю сообщение об ошибке:

ERROR ( messsage:Cannot find requested collection element. )

Кто-нибудь знает, как использовать appcmd для установки параметров пула приложений по умолчанию, чтобы он перезапускался в 8:00 UTC? Обратите внимание, что набор конкретных значений времени перезапуска пула приложений изначально пуст.


person Nick Olsen    schedule 18.03.2014    source источник
comment
Вам может пригодиться следующее: blog.smarx .com/posts/   -  person Peter Ritchie    schedule 19.03.2014
comment
@PeterRitchie К сожалению, это бесполезно. Речь идет об отключении idleTimeout или установке для него значения. Я ищу периодическую переработку пула приложений.   -  person Nick Olsen    schedule 19.03.2014


Ответы (2)


Я перезапускаю пулы приложений через определенное время, а не в определенное время дня. Хотя ваша попытка предполагает, что вы делаете то же самое? Но это предполагает, что вы пытаетесь перезапустить пул приложений каждые 8 ​​минут? Во всяком случае, это то, что я использую:

appcmd set apppool /apppool.name: string /recycling.periodicRestart.time: ' timeSpan '

Где string — это имя пула приложений, а timeSpan — это д.чч:мм:сс.

Рабочий пример перезапуска пула приложений по умолчанию каждые 30 минут в IIS7:

appcmd set apppool /apppool.name: defaultapplicationpool /recycling.periodicRestart.time: 00:30:00

ИЗМЕНИТЬ

В свете вашего комментария вы не можете просто сделать это?

appcmd set apppool /apppool.name: string /+recycling.periodicRestart.schedule.[value=' timeSpan ']

ИЗМЕНИТЬ 2

Пример пула приложений по умолчанию для ежедневного перезапуска в 00:08

appcmd set apppool /apppool.name: DefaultAppPool /+recycling.periodicRestart.schedule.[value='00:08:00']
person davidb    schedule 19.03.2014
comment
К сожалению, это не помогает. Как упоминалось в вопросе, я попросил перезапустить пул приложений в определенное время суток. Таким образом, команда, которую я написал, действительно должна перезапускать пул приложений в 00:08 каждое утро. - person Nick Olsen; 19.03.2014
comment
@NickOlsen В свете вашего комментария я отредактировал свой первоначальный ответ. - person davidb; 19.03.2014
comment
Это близко к тому, что у меня есть. И то, что я отправил, возвращало ошибку. Вы действительно пробовали это? Как насчет установки параметров пула приложений по умолчанию? - person Nick Olsen; 19.03.2014
comment
@NickOlsen да, я пробовал оба приведенных выше примера, и они работают, как и ожидалось. - person davidb; 19.03.2014
comment
Как насчет выполнения команды расписания для настроек пула приложений по умолчанию? - person Nick Olsen; 19.03.2014
comment
@NickOlsen Я отредактировал свой ответ тем, что вам нужно для вашего примера. Это правильно только в том случае, если пул приложений по умолчанию действительно называется «DefaultAppPool». - person davidb; 19.03.2014
comment
Разве вы не можете что-то сделать, используя -section:applicationPools -applicationPoolDefaults? - person Nick Olsen; 19.03.2014

Мне удалось настроить его с помощью applicationPoolDefaults следующим образом:

appcmd set config -section:system.applicationHost/applicationPools "/+applicationPoolDefaults.recycling.periodicRestart.schedule.[@0,value='08:00:00']" /commit:apphost
person Rémi    schedule 06.07.2021