ForgeTotal.js 5
el

Total.js 5

Εκτελέστε κώδικα με πρόγραμμα χρησιμοποιώντας το CRON

Total.js 5 · total5@0.0.19 cronschedulerjobs Εκτελέστηκε με το Total.js 5

Το CRON(line, fn) εκτελεί το fn(date) κάθε φορά που η τρέχουσα ώρα ταιριάζει με το line. Η γραμμή έχει πέντε πεδία, όπως στο cron του Unix: minute hour day-of-month month day-of-week. Κάθε πεδίο δέχεται * (οποιαδήποτε τιμή), 1,5,9 (λίστα), 1-5 (εύρος) ή έναν ακριβή αριθμό. Ονόματα ημερών όπως mon ή fri λειτουργούν στο τελευταίο πεδίο.

Γράψτε τις τιμές ως λίστα, 0,15,30,45: ταιριάζει ακριβώς με τις ώρες που αναφέρετε.

Το Total.js ελέγχει τις καταχωρισμένες εργασίες μία φορά το λεπτό, επομένως η λεπτότερη ανάλυση είναι ένα λεπτό. Το CRON() επιστρέφει ένα αντικείμενο: το job.remove() το απεγγράφει και το job.check(date) σας λέει αν μια ημερομηνία ταιριάζει με τη γραμμή, που είναι και ο ευκολότερος τρόπος να δοκιμάσετε ένα πρόγραμμα χωρίς αναμονή.

controllers/cron.js
exports.install = function() {
	ROUTE('GET /cron/matches/', matches);
	ROUTE('GET /cron/runs/', runs);
};

var counter = { runs: 0 };

// Every 15 minutes, from Monday to Friday, between 09:00 and 17:59
var job = CRON('0,15,30,45 9-17 * * 1-5', function(date) {
	counter.runs++;
});

function matches($) {

	var dates = {
		monday_0930: new Date(2026, 0, 5, 9, 30),
		monday_0931: new Date(2026, 0, 5, 9, 31),
		monday_1830: new Date(2026, 0, 5, 18, 30),
		sunday_0930: new Date(2026, 0, 4, 9, 30)
	};

	var output = {};
	for (var key in dates)
		output[key] = job.check(dates[key]);

	$.json(output);
}

function runs($) {
	$.json(counter);
}