This is a bit clunky as it mixes the batch population and sending.
process(sender, items): batch = new for item in items: if !batch.tryAdd(item): if batch.any(): sender.send(batch) batch = new if !batch.tryAdd(item): // poison message throw if batch.any(): sender.send(batch)Better as batch population is separated out.
process(sender, items): i = 0 while i < items.count(): batch = new while i < items.count() && batch.tryAdd(items[i]): i++ if !batch.any(): // poison message throw sender.send(batch)
No comments:
Post a Comment