# Kód futtatása ütemezés szerint a CRON-nal

> Regisztrálj egy függvényt a CRON()-nal és egy ötmezős cron-sorral, és tudd meg, mikor fut az ellenőrzés és hogyan távolítható el egy feladat.

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

A `CRON(line, fn)` lefuttatja az `fn(date)`-et, valahányszor a pillanatnyi idő megfelel a `line`-nak. A sornak öt mezője van, mint a Unix cronban: `minute hour day-of-month month day-of-week`. Minden mező elfogad `*`-ot (bármely érték), `1,5,9`-et (lista), `1-5`-öt (tartomány) vagy pontos számot. A napnevek, például a `mon` vagy a `fri`, az utolsó mezőben működnek.

**Az értékeket listaként írd**, `0,15,30,45`: pontosan a megnevezett időpontokra illik.

A Total.js percenként egyszer ellenőrzi a regisztrált feladatokat, így a legfinomabb felbontás egy perc. A `CRON()` egy objektumot ad vissza: a `job.remove()` leiratkoztatja, a `job.check(date)` pedig megmondja, hogy egy dátum illeszkedik-e a sorra, ami egyben a legegyszerűbb módja az ütemezés kipróbálásának várakozás nélkül.

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