@@ -168,6 +168,7 @@ def __init__(
168
168
maxlen : Optional [int ] = None ,
169
169
idle_timeout : int = 600000 , # 10 minutes
170
170
unacknowledged_batch_size : int = 100 ,
171
+ xread_count : Optional [int ] = 100 ,
171
172
additional_streams : Optional [Dict [str , str ]] = None ,
172
173
** connection_kwargs : Any ,
173
174
) -> None :
@@ -189,6 +190,7 @@ def __init__(
189
190
Better to set it to a bigger value, to avoid unnecessary calls.
190
191
:param maxlen: sets the maximum length of the stream
191
192
trims (the old values of) the stream each time a new element is added
193
+ :param xread_count: number of messages to fetch from the stream at once.
192
194
:param additional_streams: additional streams to read from.
193
195
Each key is a stream name, value is a consumer id.
194
196
:param redeliver_timeout: time in ms to wait before redelivering a message.
@@ -211,6 +213,7 @@ def __init__(
211
213
self .additional_streams = additional_streams or {}
212
214
self .idle_timeout = idle_timeout
213
215
self .unacknowledged_batch_size = unacknowledged_batch_size
216
+ self .count = xread_count
214
217
215
218
async def _declare_consumer_group (self ) -> None :
216
219
"""
@@ -276,6 +279,7 @@ async def listen(self) -> AsyncGenerator[AckableMessage, None]:
276
279
},
277
280
block = self .block ,
278
281
noack = False ,
282
+ count = self .count ,
279
283
)
280
284
for _ , msg_list in fetched :
281
285
for msg_id , msg in msg_list :
0 commit comments