How to automatically run a scheduled task every hour in Node.js All In One
How to automatically run a scheduled task every hour in Node.js All In One
如何在 Node.js 中每间隔一小时自动运行一个
定时任务
引用场景
Node.js 后台爬虫服务,定时爬去指定页面,抓取最新数据,并写入到数据库中;
在同一个 Node.js 部署环境中,没有使用 Linux 的 crontab 权限,只能作为 express.js server 的一个子模块使用,故需要自动定时执行任务
- GitHub schedule
- crontab schedule
solutions
node-schedule
$ npm i node-schedule
https://www.npmjs.com/package/node-schedule
var schedule = require('node-schedule');
var task = schedule.scheduleJob('0 */8 * * *', function () {
console.log('Scheduled Task, every 8 hours');
});
var cron = require('node-schedule');
var rule = new cron.RecurrenceRule();
rule.hour = 8;
rule.minute = 0;
cron.scheduleJob(rule, function(){
console.log(new Date(), 'Every 8 hours');
});
https://github.com/node-schedule/node-schedule
node-cron
$ npm i -S node-cron
https://www.npmjs.com/package/node-cron
var cron = require('node-cron');
cron.schedule('* * * * *', () => {
console.log('running a task every minute');
});
var cron = require('node-cron');
cron.schedule('0 8 * * *', () => {
console.log('Running a job at 08:00 at Asia/Shanghai timezone');
}, {
scheduled: true,
timezone: "Asia/Shanghai"
});
https://github.com/node-cron/node-cron
demos
todo
特斯拉 比价爬虫
Web Crawler
/Users/xgqfrms-mm/Documents/github/node-web-framework-all-in-one/000-xyz/crawler/server.js
tools
0 */8 * * *
At minute 0 past every 8th hour.
https://crontab.guru/#0_/8_**
refs
https://stackoverflow.com/search?q=how+to+run+a+schedule+task+in+Node.js
https://stackoverflow.com/questions/38503557/schedule-task-for-every-4-hours-in-node-js
©xgqfrms 2012-2021
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
未经授权禁止转载,违者必究!
How to automatically run a scheduled task every hour in Node.js All In One更多相关文章
JavaScript CSS Vue3 实现一个简单的Loading
配置和使用nvm免安装版本(nvm-noinstall.zip)
HarmonyOS:使用Node-API实现ArkTS与C/C++跨语言交互
【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (一):项目简介及安装依赖
【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (四):状态码的使用
【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (五):POST上传文件的设置
【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (六):token的设置
【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (七):MongoDB的设置
【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (三):Cors的设置及.env文件的设置
【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (二):项目文件夹架构及路由的设置
【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (八):API说明(暂时完结,后续考虑将在线版mongoDB变为本地版)
报error:0308010C:digital envelope routines::unsupported错--nodejs版本过高(nvm安装(更换)不同版本nodejs)
小结---安装nvm解决node版本不兼容的问题(node版本切换)