-
Notifications
You must be signed in to change notification settings - Fork 568
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RESP 3 push model requires polling #1091
Comments
@jaymell I think that this should be a blocker to the next release. Either that, or we hide the push manager behind a beta feature branch. |
It could only be a problem if user just subscribes to certain channels and then never subs/unsubs again or sending any commands. |
How are other clients handling this situation? |
I tried with rueidis and it also didn't gave an error when server is crashed, but we can fix this in multiplexed easily(tested it), with sync you always have to call rueidis code: client, err := rueidis.NewClient(rueidis.ClientOption{InitAddress: []string{"127.0.0.1:6379"}})
if err != nil {
panic(err)
}
defer client.Close()
log.Println("connected")
err = client.Receive(context.Background(), client.B().Subscribe().Channel("ch1", "ch2").Build(), func(msg rueidis.PubSubMessage) {
log.Println(msg)
})
log.Println(err) |
Currently sync & async connections only receive RESP3 disconnect push messages when a request is sent on the connection, because the incoming TCP traffic isn't polled independently. This means that for pubsub / monitor / client side caching works, but can't report issues - the user will only receive updates when they send on the message, not when the user is inactive.
The text was updated successfully, but these errors were encountered: