web stats
Mirth Community - View Single Post - Question re DB Reader Channel Parallelization
View Single Post
Old 06-06-2016, 11:49 AM
ahart ahart is offline
OBX.2 Kenobi
Join Date: Oct 2014
Posts: 56
ahart is on a distinguished road

Channel A was the database reader. It is calling a database package that returns 2000 patients in a fetch. There are actually 1841 patients in the test database. I had it set to Source Queued, no response, 10 threads.

Channel A has a single destination, to write to Channel B. That Channel Writer destination was set to always queued. 10 threads.

Channel B is a Channel Reader. It is set to Source Queue On, 10 threads. It has two destination, one to call the web service, one to update the db, neither are queued.

Initially, my counts were getting off. I expect 1841 messages, I was seeing much more than that. I tried dropping the Channel A source queuing and number of threads to 1, and it seemed my counts were correct, yet I was still seeing those errors in the log. Since the results were correct in the target database, I wasn't even sure how it was working at all. I never saw those messages that were flagged with errors on the Write to channel B getting reprocessed.

Finally, I turned off all queuing in channel A, leaving all the queing on the channel B source connector. That seems to have gotten rid of all of the errors in the logs.

My throughput dropped a little, down to 29 patients per second, still more than acceptable.
Reply With Quote