cron 作业不工作 node-cron
cron job is not working node-cron
我正在尝试在 10 分钟后 运行 执行 cron 作业,有时在 10 分钟后 运行s,有时在我调用网络服务时 运行s 在大约 2 分钟后.下面是代码
router.post('/getUser', function (req, res) {
var task = cron.schedule('0 */10 * * * *', function () {
console.log("cron job started")
}, false);
task.start();
})
它应该总是在 10 分钟后 运行 秒,而不是像调用 web 服务后立即 2 分钟。
cron 语法表示 运行 在固定时间而不是在间隔之后执行命令。
*/10表示模数为0时执行命令
在您的情况下,代码将在每天每小时的每 10 分钟的第 0 秒执行,依此类推。
所以你的 cron 将在例如执行
09:00、09:10、09:20、09:30 等。
我知道使用内置方法的唯一方法是使用类似
的方法
setTimeout(myFunc, 10 * 60 * 1000);
另一种选择是在现在 +10 分钟的计算正确时间设置一个固定的 cron 运行ning,并在其中指定确切的执行时间 moment.js。
例子
var moment = require('moment')
router.post('/getUser', function (req, res) {
var cronString = moment().second() +' '+ moment().add(10,'minutes').minute() +' '+ moment().hour() +' '+ moment().day() +' '+ moment().month() +' *';
var task = cron.schedule(cronString, function () {
console.log("cron job started")
}, false);
task.start();
})
但请注意,这将在每年的同一时间执行;)
我正在尝试在 10 分钟后 运行 执行 cron 作业,有时在 10 分钟后 运行s,有时在我调用网络服务时 运行s 在大约 2 分钟后.下面是代码
router.post('/getUser', function (req, res) {
var task = cron.schedule('0 */10 * * * *', function () {
console.log("cron job started")
}, false);
task.start();
})
它应该总是在 10 分钟后 运行 秒,而不是像调用 web 服务后立即 2 分钟。
cron 语法表示 运行 在固定时间而不是在间隔之后执行命令。
*/10表示模数为0时执行命令
在您的情况下,代码将在每天每小时的每 10 分钟的第 0 秒执行,依此类推。
所以你的 cron 将在例如执行 09:00、09:10、09:20、09:30 等。
我知道使用内置方法的唯一方法是使用类似
的方法setTimeout(myFunc, 10 * 60 * 1000);
另一种选择是在现在 +10 分钟的计算正确时间设置一个固定的 cron 运行ning,并在其中指定确切的执行时间 moment.js。
例子
var moment = require('moment')
router.post('/getUser', function (req, res) {
var cronString = moment().second() +' '+ moment().add(10,'minutes').minute() +' '+ moment().hour() +' '+ moment().day() +' '+ moment().month() +' *';
var task = cron.schedule(cronString, function () {
console.log("cron job started")
}, false);
task.start();
})
但请注意,这将在每年的同一时间执行;)