当前位置: 首页 > article >正文

利用redis的key失效监听器KeyExpirationEventMessageListener作任务定时提醒功能

某需求:
要求在任务截止日期的前3天时,系统自动给用户发一条消息提醒。
用定时任务的话感觉很不舒服。间隔时间不好弄。不能精准卡到那个点。
由于系统简单,没有使用消息列队,也不能使用延时队列来做。
用Timer的话开销还挺大的,多个应用节点的话还要用分布式锁来处理重复发送问题。
后面想到了KeyExpirationEventMessageListener这玩意。正好用了redis。用来做这种周边要紧不要紧,应标的小需求最合适不过了。

做法也简单
任务生成后,将 applicationName+任务id弄个key丢到redis中,设置一个3天的过期时间。时间一到,KeyExpirationEventMessageListener监听到这个key。再用读到的id发个消息。用个乐观锁什么的去个重。简单弄下完事了。
简单示意图:
在这里插入图片描述


http://www.kler.cn/a/396392.html

相关文章:

  • 【因果分析方法】MATLAB计算Liang-Kleeman信息流
  • 麒麟系统下docker搭建jenkins
  • NFS-Ganesha 核心架构解读
  • 机器学习-35-提取时间序列信号的特征
  • 林曦词典|养生
  • 数据库范式、MySQL 架构、算法与树的深入解析
  • DLMM(数字化转型成熟度模型认证)是什么?
  • 苍穹外卖学习-day11
  • 艾体宝干货丨微突发流量检测与分析:IOTA让网络监控更精准
  • 鸿蒙next版开发:ArkTS组件通用属性(文本通用)
  • 每日八股——JVM组成
  • SpringSSM整合
  • The Planets: Earth -- 练习
  • GOLANG+VUE后台管理系统
  • Linux第92步_如何编写“设备树”下的platform设备驱动
  • STM32 串口输出调试信息
  • watch监听事件未生效
  • 网络动力学
  • 飞创直线电机模组 VS 传统丝杆模组:谁是自动化传动领域的王者?
  • HarmonyOS ArkTs 解决流式传输编码问题
  • 一文1800字使用Jmeter进行http接口性能测试!
  • Vue Shop Vite官网、Vue Admin Plus官网、前端框架、演示地址、源码、文档
  • Swift从0开始学习 函数和闭包 day2
  • PostgreSQL 数据加密和数据解密
  • Vue 学习随笔系列十五 -- 数组遍历方法
  • 基于VUE实现语音通话:边录边转发送语言消息、 播放pcm 音频