Как сказанный James, крон не действительно настолько умен: это способно, "Делают эти вещи в эти времена, много раз пока я не говорю Вам останавливаться", но это не собирается следовать за плавающими выходными или волноваться о "броских" синхронизациях как every 40 minutes
(Это требует, чтобы набор crontab записей сделал что-то как этот - в значительной степени необходимо сделать один для каждого выполнения).
Вы являетесь, вероятно, лучшими от получения "настолько же близкого как практичного" с кроном (т.е. Ваше правило выше, который "Выполняется каждое полчаса на метке HH:30" в ограничениях части 1), и затем наличие Вашей проверки сценария на исключения (праздники) самостоятельно, и решите, должно ли это продолжиться.
Перезапуск IIS из-за ответа 500 примерно такой же, как взлом яйца сильным взмахом кувалды. Вы не собираетесь решить эту проблему с помощью перезапуска, вам придется решить свою проблему, выяснив, что вызывает 500, и исправив ее. Автоматический перезапуск сервера на 500 не решает проблему. В лучшем случае это очень слабый обходной путь.
Если у вас есть страница, которая генерирует 500, и она достаточно плохая, чтобы требовать перезапуска сервера, то вы находитесь в плохом состоянии, и вам следует сосредоточиться на определении причины ошибки. Поищите информацию об ошибках в журналах IIS. Возможно, вам потребуется включить дополнительные поля журнала, чтобы получить необходимую информацию. Включите подробный отчет об ошибках в своем приложении, если он еще не включен.
Тем не менее, если вы хотите определить, когда происходит 500, вам нужно будет сделать что-то вроде следующего:
Хорошее и компактное описание журналов IIS можно найти в этой публикации . Связанный фрагмент:
Наиболее важные файлы журналов для IIS6 (и их расположение):
- Журнал ошибок HTTP.SYS -
% windir% \ System32 \ LogFiles \ HTTPERR
(расположение по умолчанию; настраивается )- Журнал веб-сайта IIS -
% windir% \ System32 \ LogFiles \ W3SVC #
(расположение по умолчанию; настраивается) **- Журнал событий (как система, так и приложение)
Если вы столкнулись с в случае слишком большого количества подключений, я все равно рекомендую устранить неполадки в приложении, особенно при утечках памяти. Изолируйте проблемное приложение от его собственного пула приложений, чтобы избежать перезагрузки всего сервера.