apache / rocketmq-client-go

Apache RocketMQ go client
https://rocketmq.apache.org/
Apache License 2.0
1.28k stars 409 forks source link

issue: the `ctx` not work for consumer.PullFrom method #1131

Open zl03jsj opened 4 months ago

zl03jsj commented 4 months ago

The context not work in consumer.PullFrom method:

    c, err := consumer2.NewPullConsumer(
        consumer2.WithNameServer([]string{cfg.NameSvr}),
        consumer2.WithGroupName(consumerGroupName),
        consumer2.WithConsumeFromWhere(consumer2.ConsumeFromLastOffset),
        consumer2.WithConsumerOrder(true),
        consumer2.WithRetry(1),
    )
    ctx, _ = context.WithTimeout(context.Background(), time.Second)

    result, err := c.PullFrom(ctx, mq, offset, maxPullCount)

even if the ctx is timeout, or was canceled(if message queue have no new message) manually, it will still block for 30 seconds.