Closed lz-freedom closed 2 years ago
不会的,在预计投递时间之后再经过 msgTTL 指定的时长消息才会过期。
https://github.com/HDT3213/delayqueue/blob/master/delayqueue.go#L148
// store msg
msgTTL := t.Sub(now) + q.msgTTL // delivery + q.msgTTL
err := q.redisCli.Set(ctx, q.genMsgKey(idStr), payload, msgTTL).Err()
if err != nil {
return fmt.Errorf("store msg failed: %v", err)
}
我是当定时队列使用的,我们的需求是T(工作日)+1执行,所以消息在redis里面的时候可能会有点长 例如国庆是插入消息后的第八天取出消息
担心ttl设置的比较长之后会不会被自动清理掉了