メンテナンス中にこれらのリソースへのアクセスを防ぐためにサーバー側のロジックを使用する必要がありますが、タイマーを使用することで支援できます (たとえば、setTimeout
1 秒に 1 回の呼び出し)。
これは、必要に応じて動作するように見えるプログラムです。
(function() {
var state = null;
(function loop() {
var now = new Date();
var day = now.getDay();
var min = 60 * now.getHour() + now.getMinutes();
var disable = (day === 3 && (min >= 600 && min < 630));
if (disable !== state) {
if (disable) {
// call your disable code
} else {
// call your enable code
}
}
state = disable;
setTimeout(loop, 1000);
})();
})();
この変数は、状態に遷移がある場合にのみ、無効化/有効化コードを毎秒繰り返しstate
呼び出さないようにすることを目的としています。
テスト目的で、10 秒ごとに状態を切り替える実行例については、http://jsfiddle.net/alnitak/B8u6f/を参照してください。