Přepněte aplikaci do údržby pomocí PAUSESERVER()
PAUSESERVER(name, true) pozastaví server a PAUSESERVER(name, false) jej obnoví. Dokud je pozastaven alespoň jeden název, každý požadavek dostane odpověď se stavem 503 a vestavěnou stránku údržby (požadavek provedený přes xhr dostane místo stránky chybovou odpověď 503). Název jen označuje, kdo server pozastavil, takže dvě části aplikace mohou pozastavovat a obnovovat nezávisle: server znovu odpovídá, když jsou všechny názvy obnoveny.
Bez druhého argumentu volání přepíná: PAUSESERVER(name) pozastaví, když název nebyl pozastaven, a obnoví, když byl, a vrátí nový stav (true, když je pozastaven).
Protože pozastavený server odpovídá na vše stavem 503, i na routu, která by jej obnovila, obnovte jej z vlastního kódu: časovač, signál, úloha, která skončí. Příklad se pozastaví na krátkou dobu a obnoví se sám.
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 });
}