Prepnite aplikáciu do údržby pomocou PAUSESERVER()
PAUSESERVER(name, true) pozastaví server a PAUSESERVER(name, false) ho obnoví. Kým je pozastavený aspoň jeden názov, každá požiadavka dostane odpoveď so stavom 503 a vstavanú stránku údržby (požiadavka vykonaná cez xhr dostane namiesto stránky chybovú odpoveď 503). Názov len identifikuje, kto server pozastavil, takže dve časti aplikácie môžu pozastavovať a obnovovať nezávisle: server odpovedá znova, keď sú obnovené všetky názvy.
Bez druhého argumentu volanie prepína: PAUSESERVER(name) pozastaví, keď názov nebol pozastavený, a obnoví, keď bol, a vráti nový stav (true, keď je pozastavený).
Keďže pozastavený server odpovedá na všetko stavom 503, aj na routu, ktorá by ho obnovila, obnovte ho z vlastného kódu: časovač, signál, úloha, ktorá skončí. Príklad pozastaví na krátky čas a obnoví sa 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 });
}