ForgeTotal.js 5
el

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