首页 > 编程语言 >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

时间:2023-09-02 11:59:44浏览次数:44  
标签:scheduled Node task node schedule js cron https com

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

  1. 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

  1. 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


(

标签:scheduled,Node,task,node,schedule,js,cron,https,com
From: https://www.cnblogs.com/xgqfrms/p/17673122.html

相关文章

  • Flink 1.17教程:任务槽Task Slots和并行度的关系
    任务槽TaskSlots在ApacheFlink中,任务槽(TaskSlots)是指可用于执行并行任务的资源单元。每个任务槽可以看作是一个可用的执行线程或处理单元,用于并行执行作业的不同部分。通俗来说,可以将任务槽想象成一个工作台,而每个工作台上都可以同时进行一项任务。任务槽的数量决定了同时可以......
  • 记Nodejs的简单笔记
    Nodejs简单笔记fs模块VSCode路径提示插件-PathAutocomplete1.读取文件constfs=require('fs');fs.readFile('demo.txt','UTF-8',function(error,data){if(error==null){//文件读取成功console.log('data:'+da......
  • centos node.js安装puppeter遇到的一些错误
    libatk-1.0.so.0Failedtolaunchthebrowserprocess!/data/project/p_base/node_modules/puppeteer/.local-chromium/linux-1002410/chrome-linux/chrome:errorwhileloadingsharedlibraries:libatk-1.0.so.0:cannotopensharedobjectfile:Nosuchfileordi......
  • 使用 Node-RED 构建 DolphinDB 低代码平台
    前言DolphinDB是由浙江智臾科技有限公司研发的一款高性能分布式时序数据库,集成了功能强大的编程语言和高容量高速度的流数据分析系统,为海量结构化数据的快速存储、检索、分析及计算提供一站式解决方案。DolphinDB数据库支持每秒百万级数据写入,万亿级别数据毫秒级查询响应,以及高压......
  • Submit Tasks in Batch using ExecutorService
    SubmitTasksinBatchusingExecutorServicehttp://www.javabyexamples.com/submit-tasks-in-batch-using-executorservice1.OverviewInthistutorial,we'regoingtolookathowwecansubmittasksinbatchusingtheExecutorServiceimplementations.2.......
  • node18 vue2启动报错 error:0308010C:digital envelope routines::unsupported
    出现原因貌似是因为是因为node17版本开始发布的OpenSSL3.0,而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。解决方法第一种方法降低node版本降低到17以下即可,如项目不能降低版本看后面的解决方式第二种方法设置NODE_OPTIONS环境变量......
  • Node.js 服务端如何实现图片防盗链 All In One
    Node.js服务端如何实现图片防盗链AllInOne无扩图片展名URLblobURL一次性链接设置有效期链接禁用缓存ReferrerPolicy,referer禁用IframeCORS白名单动态生成的blob链接,过一段时间后,刷新页面回自动失效......
  • 【Azure App Service for Linux】NodeJS镜像应用启动失败,遇见 RangeError: Incorrect
    问题描述在AppServiceForLinux中,部署NodeJS应用,应用启动失败。报错信息为:2023-08-29T11:21:36.329731566ZRangeError:Incorrectlocaleinformationprovided2023-08-29T11:21:36.329776866ZatIntl.getCanonicalLocales(<anonymous>)2023-08-29T11:21:36.329783066ZatC......
  • 【Azure App Service for Linux】NodeJS镜像应用启动失败,遇见 RangeError: Incorrect
    问题描述在AppServiceForLinux中,部署NodeJS应用,应用启动失败。报错信息为:2023-08-29T11:21:36.329731566ZRangeError:Incorrectlocaleinformationprovided2023-08-29T11:21:36.329776866ZatIntl.getCanonicalLocales(<anonymous>)2023-08-29T11:21:36.3297830......
  • nodejs一些学习笔记记录
    模块一个文件就是一个模块引入模块Node.js提供了exports和require两个对象,其中exports是模块公开的接口,require用于从外部获取一个模块的接口,即所获取模块的exports对象。varhello=require('./hello');模块编写的形式常规写法exports.world=function(){......