# Sätt applikationen i underhåll med PAUSESERVER()

> Pausa servern med ett namn så att varje förfrågan får en 503-sida, återuppta den och vet att anropet utan andra argument växlar.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: sv
Content-SHA256: 8cde162808d25932a218acc24eb2b1f6e1176c5b87886b2a0d2a299cf2755e5d
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

`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.

```js controllers/maintenance.js
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 });
}
```
