内容目录
应用场景
- 订单超过30分钟未支付,自动关闭
- 订单完成后, 如果用户一直未评价, 5天后自动好评
- 会员到期前15天, 到期前3天分别发送短信提醒
实现原理
利用Redis的有序集合,member为JobID,score为任务执行的时间戳,每秒扫描一次集合,取出执行时间小于等于当前时间的任务.
源码安装
go
语言版本1.10+go get -d github.com/TeamFat/DelayQueue
go build
运行
./DelayQueue
HTTP Server监听
0.0.0.0:8080
, Redis连接地址127.0.0.1:6379
, 数据库编号2
, 数据库密码123456
具体配置见conf/config.yaml,按需修改