Відповіді:
У Tech Ed 2003 ведучому було задано це питання, і відповідь полягала в тому, що вони хочуть, щоб нерегулярний цикл запобігав його виникненню на щоденній межі (наприклад, щоб відрізнити від інших щоденних завдань, запланованих на сервері / домені).
Сайт тут (Посилання мертвих) розмірковував:
... (29 - це перший прайм після 24, що дозволяє йому мати найменший шанс, що трапляється у звичайній схемі з будь-яким іншим сервером; полегшення розслідування проблем
З'являється ще один сайт , який підтверджує це:
( Вейд Хілмо ) запропонував 29 годин з простої причини, що це найменше просте число за 24. Він хотів, щоб шаг, який не повторюється, трапляється частіше, ніж раз на день
Гаразд, це клопіт мене, тому я розкопав і нарешті знайшов цю публікацію у хлопця, який, очевидно, був у команді IIS:
Причина того, що IIS6 переробляє кожні 29 годин за замовчуванням (і у нас була причина
Причина того, що IIS6 переробляє кожні 29 годин за замовчуванням (і ми мали причину вибору 29 годин як значення за замовчуванням), тому що, швидше за все, веб-додаток, що працює на ньому, недостовірний і буквально потребує частого перезавантаження.
Таким чином, IIS6 побудований навколо припущення (сприйманого цинічно), що веб-додаток користувача не працюватиме більше 24 суміжних годин, функції плануються відповідно і вибираються параметри за замовчуванням. Робочі процеси переробляються кожні 29 годин, запускаються і відключаються процеси, контролюється процес, постійно перевіряється, чи працює він, обробляється процес і відтворюється сигнал, коли він несподівано закінчується, тощо.
Розуміючи, що переробка є нормальною частиною операцій, IIS6 також гарантує ізоляцію такої утилізації від кінцевого користувача - TCP-з'єднання кінцевого користувача ніколи не припиняється під час переробки через деяку магію режиму ядра. У поєднанні з додатком у режимі користувача, який зберігає стан сеансу поза процесом (наприклад, ASP.Net Session State Service), це практично гарантований надійний час роботи без видимих для користувача втрат даних, навіть якщо веб-додаток виходить з ладу після обробки кожного запит користувача.
Це приблизно так добре, як може зробити IIS6 - надаючи ненадійну веб-програму, зробіть її надійною для кінцевого користувача та зробіть це, не вимагаючи жодних виправлень ненадійного веб-додатка.
Звичайно, не всі ненадійні заявки можна зробити надійними - якщо так, то всі ми без роботи! - але IIS6 впевнено намагається набагато більше бути стійкими.
У вашому випадку просто трапляється, що стійкість побічно впливає на стан, який не зберігається, але його можна легко відрегулювати.
Якщо припустити, що у вашому веб-додатку ніколи не виникає проблем, і він перебуває у стані сеансу під час роботи сеансу, вам потрібно змінити ці налаштування за замовчуванням.
Це запобіжить несподіваному втраті стану сеансу.
Звичайно, якщо ви коли-небудь використовуєте додаток із станом сеансу, який не використовується, ви можете залишити все як за замовчуванням і ніколи не помітити різницю у функціональності та надійності.