Ctrl + Высокий звук + или Ctrl + Высокий звук + ВНИЗ для копирования строк
Это старый вопрос, но в дополнение к принятому ответу стоит упомянуть библиотеку с примерами.
cron - это облегченный пакет, который выполняет указанную функцию с заданным интервалом, используя только системное время и отсутствие постоянства дБ.
const CronJob = require('cron').CronJob;
const jobFiveMinutes = require("./job.five-minutes");
const jobMondayMorning = require("./job.monday-morning");
var jobs = [
new CronJob({
cronTime: "00 */5 * * * *", //every five minutes
onTick: function() {
jobFiveMinutes();
},
start: false, //don't start immediately
timeZone: 'America/Los_Angeles'
}),
new CronJob({
cronTime: "00 00 9 * * 1", //9 am Monday morning
onTick: function() {
jobMondayMorning();
},
start: false,
timeZone: 'America/Los_Angeles'
}),
];
jobs.forEach(function(job) {
job.start(); //start the jobs
});
Выше мы требовали два файла и вызывали их внутри двух cronjobs, установленных с разными интервалами. Файлы просто экспортируют функции:
//job.five-minutes.js
module.exports = function(){
console.log("runs every five minutes")
};
//job.monday-morning.js
module.exports = function(){
console.log("runs every monday morning at 9 am, Los Angeles time")
};
Независимо от того, запускаете ли вы его локально или на удаленном сервере в каком-либо регионе, он будет работать в соответствии с прошедшим часовым поясом (хотя это необязательно и не имеет значения в случае минуты).
Кроме того, перезапуск сервера / скрипта не повлияет на его работу, так как он синхронизирован с системным временем. Задание "00 */5 * * * *"
будет выполняться для каждого кратного 5, то есть 5, 10, 15, 20 и т. Д. Таким образом, даже если вы перезапустите скрипт на 24, он будет работать на 25, а не на 29.
Наконец, пакет расширил синтаксис cron и теперь включает секунды слева. Следовательно, вы даже можете определить, в какую именно секунду вы хотите запустить задание.