Skip to content

Commit 31495ac

Browse files
authored
Added missing idle args in XPendingExtArgs (#1750)
Added missing idle args in XPendingExtArgs
1 parent 44f5c06 commit 31495ac

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

commands.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1811,15 +1811,20 @@ func (c cmdable) XPending(ctx context.Context, stream, group string) *XPendingCm
18111811
type XPendingExtArgs struct {
18121812
Stream string
18131813
Group string
1814+
Idle time.Duration
18141815
Start string
18151816
End string
18161817
Count int64
18171818
Consumer string
18181819
}
18191820

18201821
func (c cmdable) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd {
1821-
args := make([]interface{}, 0, 7)
1822-
args = append(args, "xpending", a.Stream, a.Group, a.Start, a.End, a.Count)
1822+
args := make([]interface{}, 0, 9)
1823+
args = append(args, "xpending", a.Stream, a.Group)
1824+
if a.Idle != 0 {
1825+
args = append(args, "idle", formatMs(ctx, a.Idle))
1826+
}
1827+
args = append(args, a.Start, a.End, a.Count)
18231828
if a.Consumer != "" {
18241829
args = append(args, a.Consumer)
18251830
}

commands_test.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4225,15 +4225,15 @@ var _ = Describe("Commands", func() {
42254225
Higher: "3-0",
42264226
Consumers: map[string]int64{"consumer": 3},
42274227
}))
4228-
4229-
infoExt, err := client.XPendingExt(ctx, &redis.XPendingExtArgs{
4228+
args := &redis.XPendingExtArgs{
42304229
Stream: "stream",
42314230
Group: "group",
42324231
Start: "-",
42334232
End: "+",
42344233
Count: 10,
42354234
Consumer: "consumer",
4236-
}).Result()
4235+
}
4236+
infoExt, err := client.XPendingExt(ctx, args).Result()
42374237
Expect(err).NotTo(HaveOccurred())
42384238
for i := range infoExt {
42394239
infoExt[i].Idle = 0
@@ -4244,6 +4244,11 @@ var _ = Describe("Commands", func() {
42444244
{ID: "3-0", Consumer: "consumer", Idle: 0, RetryCount: 1},
42454245
}))
42464246

4247+
args.Idle = 72 * time.Hour
4248+
infoExt, err = client.XPendingExt(ctx, args).Result()
4249+
Expect(err).NotTo(HaveOccurred())
4250+
Expect(infoExt).To(HaveLen(0))
4251+
42474252
n, err := client.XGroupDelConsumer(ctx, "stream", "group", "consumer").Result()
42484253
Expect(err).NotTo(HaveOccurred())
42494254
Expect(n).To(Equal(int64(3)))

0 commit comments

Comments
 (0)