一、业务场景
1. 延迟定时任务
- 玩斗地主的时候,你超时就有一个自动操作。就是一个延迟定时任务
二,通过redis 实现
1. 关键redis key
KEY | 数据结构 | 作用 |
---|---|---|
GRAB_POWER_LOCK | string | 分布式锁,部署多份服务,保证同一个任务只放到队列一次 |
TASK_SORTSET | sortSet | 成员是任务id,根据 延迟时间+ 系统当前时间 作为排序 |
TASK_INFO | string | 任务的详细信息,执行任务的时候要使用 |
TASK_LIST_QUEUE | list | 存放所有已经可以执行的任务 |
2. 流程
image.png