ForgeTotal.js 5
bg

Total.js 5

Преминете в режим на поддръжка с PAUSESERVER()

Total.js 5 · total5@0.0.19 maintenanceserveravailability Изпълнено с Total.js 5

PAUSESERVER(name, true) поставя сървъра на пауза, а PAUSESERVER(name, false) го възобновява. Докато поне едно име е на пауза, всяка заявка получава отговор със състояние 503 и вградената страница за поддръжка (заявка, направена с xhr, получава отговор с грешка 503 вместо страницата). Името само идентифицира кой е паузирал, така че две части на приложението да могат да паузират и възобновяват независимо: сървърът отговаря отново, когато всички имена са възобновени.

Без втория аргумент извикването превключва: PAUSESERVER(name) паузира, когато името не е било на пауза, и възобновява, когато е било, и връща новото състояние (true, когато е на пауза).

Тъй като сървър на пауза отговаря 503 на всичко, включително на маршрута, който би го възобновил, възобновете го от собствения си код: таймер, сигнал, задача, която приключва. Примерът паузира за кратко и се възобновява сам.

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