Preserve consumer after unsubscribe

This commit is contained in:
Neil Alexander 2022-03-22 12:14:00 +00:00
parent 555752482c
commit a0116959c3
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -76,14 +76,14 @@ func (r *Inputer) workerForRoom(roomID string) *worker {
}) })
w := v.(*worker) w := v.(*worker)
if !loaded { if !loaded {
consumer := "DendriteRoomInputConsumerPull" + jetstream.Tokenise(w.roomID)
sub, err := w.r.JetStream.PullSubscribe( sub, err := w.r.JetStream.PullSubscribe(
jetstream.InputRoomEventSubj(w.roomID), jetstream.InputRoomEventSubj(w.roomID), consumer,
"DendriteRoomInputConsumerPull"+jetstream.Tokenise(w.roomID),
nats.ManualAck(), nats.ManualAck(),
nats.DeliverAll(), nats.DeliverAll(),
nats.MaxAckPending(-1), nats.MaxAckPending(-1),
nats.AckWait(MaximumMissingProcessingTime+(time.Second*10)), nats.AckWait(MaximumMissingProcessingTime+(time.Second*10)),
nats.BindStream(r.InputRoomEventTopic), nats.Bind(r.InputRoomEventTopic, consumer),
) )
if err != nil { if err != nil {
logrus.WithError(err).Errorf("Failed to subscribe to stream for room %q", w.roomID) logrus.WithError(err).Errorf("Failed to subscribe to stream for room %q", w.roomID)