Page History
...
Processing outbox can be tuned by increasing/decreasing batchsize, concurrent consumers, async threads, poller concurrency threads and and interval. Below there is diagram that shows how whole flow works.
Async threads pool
...
Outbox Poller is also possible to tune by adding extra poller concurrency threads into its publisher. It will split batchsize into smaller parts and will process them in parallel. By default concurrency poller is disabledspecifying batchsize, which is a numer of messages pulled into memory that will be processed. By default it's 10000
Code Block |
---|
blueriq.case.engine.outbox.poller.concurrency.enabled=true blueriq.case.engine.outbox.poller.concurrency.threads=2batchsize=10000 |
By specifying interval, we can configure time when poller should get messages from outbox and start processing another batch. By default, it's 2 minutes
Code Block |
---|
blueriq.case.engine.outbox.poller.interval.minutes=2m |
We can also specify batchsize, which is number of messages pulled from outbox into memory. By default it's 10000
Code Block |
---|
blueriq.case.engine.outbox.poller.batchsize=10000 |
Example issues and solutions
...
Problem: Outbox is full, queue is empty
Solution: Increase async threads or poller concurrency threads
Example 2
Problem: Out of memory error
...
Problem: After system was down, outbox is full of messages and they are processed very slowly
Solution: Increase poller concurrency threads, increase batchsize, decrease interval
...