具体描述: 用户下单触发一个定时器任务 获得了定时器的 ID 当业务流程发生变动时 通过定时器 ID 销毁掉定时器 比如现在已触发定时器(ID 分别为 1,2,3) 而这时服务器发现异常需要重启 同时 swoole 服务也要重启 目前问题是重启服务器后 再次触发定时器 ID 重新从 1 开始 而且之前已触发的(ID 分别为 1,2,3)的定时器已销毁 怎么才能在重启服务器后恢复之前的定时器任务?求大神指点迷津
1
foursking 2017-11-22 10:58:49 +08:00
借助外力吧,比如用个 redis 来存储定时器任务
|
2
duguxiaohuai OP @foursking 现在是放到 mysql 里面存储定时器任务 但是还是不行
|
3
cccRaim 2017-11-22 13:36:03 +08:00
定时器任务存到数据库,crond 每秒检测是否开启所有任务
|
4
picone 2017-11-22 14:18:37 +08:00
队列,延时队列比 ticker 好用。
|
5
shinku25 2017-12-04 09:40:34 +08:00 via iPhone
同问。。
|