Hi大家好,有一个定时执行函数的需求需要寻求一个解决方案。
发布于 7 年前 作者 benny201 2499 次浏览 来自 问答

Hi 大家好。 是这样的: 我用写了一个Node的爬虫,现在需要定时爬取相关网站的内容。 这么说吧,现在有个叫scrape(type)的函数,每一个type都对应一个网站。 然后每个网站都设定了再每天不同的时间去爬取并且存到数据库。 我试了以下方法:

  1. 给每个函数设定一个setInterval函数。 但是不知道是不是这个scrape里面的异步操作太多了,导致了虽然能爬取,但是数据库里的数据就乱套了,不同网站的东西存得Mongodb都乱套了。 (但是单独执行scrape(type)是不会乱的)
  2. 查到了一个叫node-schedule的库。 能够定时执行,非常不错。但是看了api发现好像不能可以同时对个多个函数设定不同执行时间 (或者是有而我没了解透彻?)

不知道大家有没有同样需要设定多个定时任务的需求呢,能分享一下我这种情况该怎么解决吗? 非常感谢大家。

2 回复
var schedule = require('node-schedule');

var j = schedule.scheduleJob('42 * * * *', function(){
  console.log('The answer to life, the universe, and everything!');
});

你这个执行多次,每个不同参数不就行了。

回到顶部