# Az alkalmazás karbantartási módba helyezése a PAUSESERVER()-rel

> Állítsa le a szervert név szerint, hogy minden kérés 503-as oldalt kapjon, indítsa újra, és tudja, hogy második argumentum nélkül a hívás átkapcsolja az állapotot.

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

A `PAUSESERVER(name, true)` szünetelteti a szervert, a `PAUSESERVER(name, false)` pedig folytatja. Amíg **legalább egy név** szünetel, minden kérésre **503**-as állapot és a beépített karbantartási oldal a válasz (az `xhr`-rel küldött kérés az oldal helyett 503-as hibaválaszt kap). A név csak azt azonosítja, ki szüneteltette, így az alkalmazás két része egymástól függetlenül szüneteltethet és folytathat: a szerver akkor válaszol újra, amikor minden nevet folytattak.

Második argumentum nélkül a hívás **átkapcsol**: a `PAUSESERVER(name)` szüneteltet, ha a név nem szünetelt, és folytat, ha szünetelt, és az új állapotot adja vissza (`true`, ha szünetel).

Mivel egy szüneteltetett szerver mindenre 503-mal válaszol, arra az útvonalra is, amely folytatná, a folytatást a saját kódjából végezze: időzítőből, jelzésből, egy befejeződő feladatból. A példa rövid időre szüneteltet, majd magától folytat.

```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 });
}
```
