1

这个脚本

0 0/3 * * * node test.js

用于在 Ubuntu 中调度作业,如何使用 node-schedule npm 包在 Windows 中设置相同的方式?

作为解决方法,在任务计划程序中安排了脚本:

cmd /c c:\node\node.exe c:\myscript.js

我想知道如何在 node-schedule npm 包中做到这一点。

4

2 回答 2

2

您可以在 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/

于 2019-12-29T16:32:56.880 回答
1

https://npmjs.org/package/node-schedule

每 5 分钟执行一次 cron 作业 = */5 * * * *

因此(根据NodeJS 文档),您可以使用child_processnpm 模块来运行脚本。

像这样:

const { spawn } = require('child_process');
const schedule = require('node-schedule');

schedule.scheduleJob('*/5 * * * *', function() {
  spawn('node', ['test.js']);
});
于 2019-12-29T10:25:38.140 回答