go-delayqueue
go-delayqueue copied to clipboard
服务重启延迟队列重新计算
写的很好,但是我发现一个问题,服务停止一会然后重启,会从redis拿数据然后重新计算时间,中间的时间误差在代码中没有看到解决
是的,中间的时间,目前没有处理。如果要处理,估计需要记录时间到任务上面,而且需要一个中间件去统一多个服务上实例的时间,让他们保持一致。如果是单实例,就没有问题,直接用时间差额计算最新时间。最初这么设计,主要是考虑,如果某些通知任务,因为down机延期了,还是希望实现延期通知,而不要因为错过了时间就把它删除掉。