Pune aplicația în mentenanță cu PAUSESERVER()
PAUSESERVER(name, true) pune serverul în pauză, iar PAUSESERVER(name, false) îl reia. Cât timp cel puțin un nume este în pauză, fiecare cerere primește starea 503 și pagina de mentenanță încorporată (o cerere făcută cu xhr primește un răspuns de eroare 503 în locul paginii). Numele doar identifică cine a pus în pauză, astfel încât două părți ale aplicației să poată pune în pauză și relua independent: serverul răspunde din nou când toate numele au fost reluate.
Fără al doilea argument apelul alternează: PAUSESERVER(name) pune în pauză când numele nu era în pauză și reia când era, și returnează noua stare (true când este în pauză).
Deoarece un server în pauză răspunde 503 la tot, inclusiv la ruta care l-ar relua, reia-l din propriul cod: un temporizator, un semnal, o sarcină care se termină. Exemplul se pune în pauză pentru scurt timp și se reia singur.
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 });
}