@@ -239,17 +239,19 @@ def verify_producer_performance(with_dr_cb=True):
239
239
bar = None
240
240
241
241
for i in range (0 , msgcnt ):
242
- try :
243
- if with_dr_cb :
244
- p .produce (topic , value = msg_payload , callback = dr .delivery )
245
- else :
246
- p .produce (topic , value = msg_payload )
247
- except BufferError as e :
248
- # Local queue is full (slow broker connection?)
249
- msgs_backpressure += 1
250
- if bar is not None and (msgs_backpressure % 1000 ) == 0 :
251
- bar .next (n = 0 )
252
- p .poll (0 )
242
+ while True :
243
+ try :
244
+ if with_dr_cb :
245
+ p .produce (topic , value = msg_payload , callback = dr .delivery )
246
+ else :
247
+ p .produce (topic , value = msg_payload )
248
+ break
249
+ except BufferError as e :
250
+ # Local queue is full (slow broker connection?)
251
+ msgs_backpressure += 1
252
+ if bar is not None and (msgs_backpressure % 1000 ) == 0 :
253
+ bar .next (n = 0 )
254
+ p .poll (100 )
253
255
continue
254
256
255
257
if bar is not None and (msgs_produced % 5000 ) == 0 :
@@ -268,7 +270,7 @@ def verify_producer_performance(with_dr_cb=True):
268
270
(msgs_produced , bytecnt / (1024 * 1024 ), t_produce_spent ,
269
271
msgs_produced / t_produce_spent ,
270
272
(bytecnt / t_produce_spent ) / (1024 * 1024 )))
271
- print ('# %d messages not produce()d due to backpressure (local queue full)' % msgs_backpressure )
273
+ print ('# %d temporary produce() failures due to backpressure (local queue full)' % msgs_backpressure )
272
274
273
275
print ('waiting for %d/%d deliveries' % (len (p ), msgs_produced ))
274
276
# Wait for deliveries
0 commit comments