早上好,朋友们!
今天来分享一下我年度会员没给积分的坑,我是1月份第一次出了年度会员,2月休息了一个月,在应该给用户赠送积分的时候,去看了一下,没有自动赠送,当时休息就手动赠送,打算后面修复一下。结果一忙,给忘了,直到今天有用户告诉我他没有收到积分,我到后台一看,已经3个年费会员没给积分了,然后赶快修复了这个问题。
这个问题其实就是自己没有设置每日定时任务,每天就没有触发积分的发放逻辑(积分过期逻辑也是类似的),其实在mksaas 的定时任务里面也写的很清楚,但是这部分以为不需要就没仔细看。
那么怎么处理这个问题?
1、打开cron-job.org,我们使用这个服务可以创建免费的定时任务。注册登录一个账号。
2、在 console.cron-job.org 的cronjobs 点击 CREATE CRONJOB 创建一个定时任务
3、设置你定时任务要调用的url 接口,mksaas 模板是YOUR-DOMAIN}/api/distribute-credits,你也可以自己定义接口,然后下方的触发时机选择是每天,时间你自己选,我默认就是0点
4、在ADVANCED 配置上请求凭证,设置一个账号密码,后续定时请求会带上这个账号密码,你的接口可以验证账号密码,避免任何人都可以请求你的积分发放接口。
5、在环境变量里面配置上 CRON_JOBS_USERNAME,CRON_JOBS_PASSWORD 就是第4步设置的账号密码,这个mksaas 预设的环境变量。
以上就是定时任务解决我年度用户没有发放积分的过程,除了发放积分定时任务也可以用到其他场景,比如,你想要每天定时抓取数据、定时清理过期数据、定时生成一下SEO内容等。这些不需要用户触发,系统自动在固定时间执行的任务,都可以用定时任务触发。