hello,这里是东哥。这节课,我们要学习的是,「长乐未央全栈系列:Node.js 项目实践」课程的第 74 回,进阶:定时任务,在这节课里,我们将探讨:
- 如何在 Node 项目中实现定时任务?
- 如何自动处理已过期的订单与大会员?
要解决的问题
这节课我们要解决两个问题:
- 当用户下单了,如果长期没付款。将来再去付款的时候,支付宝和微信那边就会提示订单过期了,无法支付。这就是说,订单支付超时后,最好将订单的状态设置为
已过期
,让用户无法再发起支付。
- 还有,当用户支付了订单,就会自动变成大会员身份。但是大会员身份是有有效期的,在过期后,就需要将这些用户变成
普通用户
。
这两种情况,肯定不能让管理员们时时刻刻盯着后台,然后发现一有数据过期了,就人工一个个处理吧。
正确的做法是,可以在 Node 项目里写一个定时任务。每当到了设定好的时间周期了,它就会自动运行。
定时执行的两种方法
要实现定时执行,也有两种方法。
第一种方法,是使用Linux
系统自带的crontab
命令。但这种方法有两个问题...