Sätt applikationen i underhåll med PAUSESERVER()
PAUSESERVER(name, true) pausar servern och PAUSESERVER(name, false) återupptar den. Så länge minst ett namn är pausat besvaras varje förfrågan med status 503 och den inbyggda underhållssidan (en förfrågan som görs med xhr får ett 503-felsvar i stället för sidan). Namnet identifierar bara vem som pausade, så att två delar av applikationen kan pausa och återuppta oberoende av varandra: servern svarar igen när alla namn har återupptagits.
Utan det andra argumentet växlar anropet: PAUSESERVER(name) pausar när namnet inte var pausat och återupptar när det var det, och returnerar det nya tillståndet (true när pausat).
Eftersom en pausad server svarar 503 på allt, även på den route som skulle återuppta den, återuppta från din egen kod: en timer, en signal, en uppgift som avslutas. Exemplet pausar en kort stund och återupptar sig självt.
exports.install = function() {
ROUTE('GET /maintenance/', maintenance);
ROUTE('GET /toggle/', toggle);
ROUTE('GET /ping/', ping);
};
function maintenance($) {
const state = PAUSESERVER('maintenance', true);
setTimeout(() => PAUSESERVER('maintenance', false), 600);
$.json({ paused: state });
}
function toggle($) {
const first = PAUSESERVER('toggled');
const second = PAUSESERVER('toggled');
$.json({ first: first, second: second });
}
function ping($) {
$.json({ ok: true });
}