珠峰培训node 珠峰爬虫| cron 定时任务
1、cron 定时任务 CronJobvar CronJob = require('cron').CronJob;
// 秒 分钟 时 天 ????️ 周
// 1-30 * * * * * 1到30秒执行
// 1,3,5 * * * * * 1、3、5的时候执行
// */5 * * * * * 每5秒
var job = new CronJob('*/5 * * * * *',function(){
console.log(new Date().toString())
})
job.start()-------------------------------------
实际应用例子:
run.js
var i = 0;
function set(){
i++
setTimeout(function(){
console.log(i)
if(i<5){
set();
}
},1000)
}set();任务文件 main.js
var CronJob = require('cron').CronJob;
var child_process = require('child_process')
// 秒 分钟 时 天 ????️ 周
// 1-30 * * * * * 1到30秒执行
// 1,3,5 * * * * * 1、3、5的时候执行
// */6 * * * * * 每6秒
var job = new CronJob('*/6 * * * * *',function(){
var pro = child_process.spawn(process.execPath,['run.js']);
// 把子进程的标准输出注入到当前主进程的标准输出
pro.stdout.pipe(process.stdout);
pro.stderr.pipe(process.stderr);
// 当子进程出错的时候
pro.on('error',function(err){
console.log(err);
})
// 当子进程结束也关闭主进程
pro.on('close',function(){
console.log('pro is close!')
process.exit();
})
})
job.start()
文档来源:51CTO技术博客https://blog.51cto.com/u_10585798/3270383
页:
[1]