Ejecuta código con una programación usando CRON
CRON(line, fn) ejecuta fn(date) cada vez que la hora actual coincide con line. La línea tiene cinco campos, como en el cron de Unix: minute hour day-of-month month day-of-week. Cada campo acepta * (cualquier valor), 1,5,9 (una lista), 1-5 (un rango) o un número exacto. Los nombres de día como mon o fri funcionan en el último campo.
Escribe los valores como una lista, 0,15,30,45: coincide exactamente con las horas que nombras.
Total.js comprueba las tareas registradas una vez por minuto, así que la resolución mínima es un minuto. CRON() devuelve un objeto: job.remove() lo da de baja y job.check(date) te dice si una fecha coincide con la línea, que además es la forma más fácil de probar una programación sin esperar.
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);
}