持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第 6 天,点击查看活动详情
只需要三步:
1.终端安装命令:npm i node-cron
2.引入项目:const nodeCron = require("node-cron");/import nodeCron from "node-cron";
3.const job = nodeCron.schedule("* * * * * *", function jobYouNeedToExecute() {
//在这中间放任何想要执行的操作,例如打印出当前时间console.log(new Date().toLocaleString());
}, true, "America/Sao_Paulo");
nodeCron.schedule方法的三个参数:
expression nodeCron.schedule(expression, function, options);
第一个参数是cron 表达式。可以使用此表达式来指定应执行任务的时间(或次数),表达式应采用* * * * * *格式。您可以用适当的数字(或可能的字符)替换每个*字段。
第二个参数是一个函数,它是第一个参数中的表达式执行的任务。你可以在这个函数中做任何你想做的事情。您可以发送电子邮件、进行数据库备份或下载数据。若当前系统时间与第一个参数中提供的时间相同时,将执行此函数。
第三个参数是可选的,可以传递给该方法进行其他配置。
第三个参数:
{
scheduled: false,
timezone: "America/Sao_Paulo"
}
job.start();
默认情况下scheduled是true. 如果将其设置为false,则必须通过调用对象start上的方法来安排作业job。job是调用schedule方法返回的对象。
怎么理解cron表达式?
cron 表达式的第一个参数schedule,是一个字符串"* * * * * *"。我们用它来描述任务应该执行的时间。表达式中的每个*都是一个字段,您可以在下图中看到每个*字段代表的意义。
"* * * * * *"
| | | | | |
| | | | | |
| | | | | day of week
| | | | month
| | | day of month
| | hour
| minute
second(optional)
tips:有一个方便的工具叫做crontab guru,它可以为你解释 crontab 表达式。如果您输入一个表达式,它将验证该表达式并告诉您何时执行任务。如果您不确定表达式,可以使用它。