这个脚本
0 0/3 * * * node test.js
用于在 Ubuntu 中调度作业,如何使用 node-schedule npm 包在 Windows 中设置相同的方式?
作为解决方法,在任务计划程序中安排了脚本:
cmd /c c:\node\node.exe c:\myscript.js
我想知道如何在 node-schedule npm 包中做到这一点。
这个脚本
0 0/3 * * * node test.js
用于在 Ubuntu 中调度作业,如何使用 node-schedule npm 包在 Windows 中设置相同的方式?
作为解决方法,在任务计划程序中安排了脚本:
cmd /c c:\node\node.exe c:\myscript.js
我想知道如何在 node-schedule npm 包中做到这一点。
您可以在 nodejs 上使用“cron”包来安排功能 - https://www.npmjs.com/package/cron
根据它的文档
Cron 是一种工具,可让您按计划执行某事。这通常使用 cron 语法来完成。我们允许您在计划的作业触发时执行功能。
使用示例
const CronJob = require('cron').CronJob;
const exampleJob = new CronJob(`*/2 * * * * *`,()=>{
console.log("You will see this message every 2 seconds",new Date().getSeconds());
});
exampleJob.start();
另外,如果您不熟悉 cron 计划表达式(cron 语法),该网络将帮助您获得正确的表达式 https://crontab.guru/
从https://npmjs.org/package/node-schedule:
每 5 分钟执行一次 cron 作业 = */5 * * * *
因此(根据NodeJS 文档),您可以使用child_process
npm 模块来运行脚本。
像这样:
const { spawn } = require('child_process');
const schedule = require('node-schedule');
schedule.scheduleJob('*/5 * * * *', function() {
spawn('node', ['test.js']);
});