icomet icon indicating copy to clipboard operation
icomet copied to clipboard

当sub状态断开的时候,pub消息无法被缓存

Open zxq911 opened this issue 10 years ago • 5 comments

  1. 首先sub消息 curl -v "http://127.0.0.1:8100/sub?cname=12"
  2. 再pub消息 curl -v "http://127.0.0.1:8000/pub?cname=12&content=hi" 这样使用正常。

但是如果顺序反过来的话,则sub无法获取到刚刚取得的消息。

zxq911 avatar Dec 13 '13 06:12 zxq911

能否给icomet增加一个缓存消息的数据库,redis或者其他的,要允许消息在一定时间内失效,并且被获取。

zxq911 avatar Dec 13 '13 06:12 zxq911

你好, 已经增加该功能. 在 comet.conf 配置文件里增加了 channel_timeout 选项, 请将该值改为较大的数(例如1亿), 表示通道的存活时间.

目前, 消息还是不能持久化, 也没有失效时间.

ideawu avatar Dec 13 '13 07:12 ideawu

能否将ssdb工程和icomet工程结合起来做,这样既有消息持久化,又可以防止短时间内消息丢失呢。

zxq911 avatar Dec 26 '13 09:12 zxq911

有缓存及过期时间控制,如在过期时间内重复请求会获取重复数据,能否设计为队列形式,获取后从队列内删除。

w22gb8 avatar Apr 12 '14 10:04 w22gb8

@foxconndmd 为了避免重复数据, 需要利用 seq 参数, 重连时, seq = last_seq + 1.

ideawu avatar Apr 13 '14 03:04 ideawu