我在数据库中有一个URL列表。我想定期检查这些 URL 是否处于活动状态。
所以我创建了一个长时间运行的服务,它运行无限循环,每次迭代:
- 查询数据库以获取 url 列表
- 对于每个 URL,请求检查它是否处于活动状态
请指导我如何实施该服务。
我看了看 Bull 和 Kue,但它们似乎不支持无限循环服务?
你可以使用一些非常简单的东西,比如setInterval((来让你的任务重复x次。
var testUrls = function(){
//do your magic of connecting to the DB and checking urls.
}
setInterval(testUrls, 60000);
上面的代码片段将每分钟调用一次函数testUrls
。
或者,如果您需要对调度进行更多控制,则可以使用像cron这样的npm包。
您可以使用节点调度
它非常简单
var schedule = require('node-schedule');
var j = schedule.scheduleJob('42 * * * *', function(){
console.log('The answer to life, the universe, and everything!');
});