评论

收藏

[JavaScript] 珠峰培训node 珠峰爬虫| cron 定时任务

开发技术 开发技术 发布于:2021-08-06 12:22 | 阅读数:466 | 评论:0

1、cron 定时任务 CronJob
var 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()


关注下面的标签,发现更多相似文章