用户登录

计划任务可以在指定的时间运行一次,也可以在某个时间段重复执行,比如每个小时,或者每周执行一次。注册一个计划任务可以使用 Cron 这个装饰器,用它装饰一个方法,然后设置一下计划任务模式就行了,也就是你可以设置注册的计划任务在什么时候,或者多久执行一次。

下面我们可以试一下,打开 app.service 这个服务,它是 AppModule 模块里用的一个服务。在这个服务里面添加一个方法,名字是 handelCron,这个方法就是计划任务具体要做的事情。

这里我们简单的在控制台上输出 您好 。 这样每次执行这个计划任务的时候,就会在控制台上输出这两个字儿 。 在这个方法上面,用 @Cron 装饰器装饰一下。

然后设置一下计划任务模式,它有六个部分,我们先用六个星号表示,如果这样设置的话,这个任务会每秒执行一次。

在控制台观察一下,先运行一下应用,执行 npm run start:dev。 应用启动以后你会发现,每秒都会输出一个您好。

回到项目,再了解一下这个计划任务模式。第一位表示的是秒,第二位是分,第三位是小时,第四位是天,第五位是月,第六位是一周里的天。

比如我们把第一个星号改成 15 ,这个模式的意思就是每一分的第 15 秒,也就是这个计划任务每分钟的第15秒都会被执行一次。

在控制台再观察一下,现在这个计划任务,会在每一分的第 15 秒执行一下。

设置这个时间模式有点复杂,你可以使用 nest 提供的 enum 来设置这个模式。用一下 CronExpression,它里面基本包含了你需要的所有的时间模式。比如这个 EVERY_WEEK,指的是每一周。

注册计划任务(Cron)《 Nest.js 服务端应用:计划任务 》

统计

13074
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点