基于Redis实现的延迟队列

应用场景

  • 订单超过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,按需修改

 

更多移步:https://github.com/TeamFat/DelayQueue


欢迎订阅我的公众号,文章更新早知道
张贴在Go标签:

版权声明: 本文为【陈思敏捷】的原创文章。
原文链接:【https://www.chenjie.info/1968】。原文标题:【基于Redis实现的延迟队列】。文章转载请联系作者。


发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据