太阳不下山 发表于 2021-8-6 12:22:47

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

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()


文档来源:51CTO技术博客https://blog.51cto.com/u_10585798/3270383
页: [1]
查看完整版本: 珠峰培训node 珠峰爬虫| cron 定时任务