Announcement

Collapse
No announcement yet.

Queue'ing Issue

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Queue'ing Issue

    Hello all
    I've been having a problem with a recently created set of channels. I have a routing channel that feeds 2 other channels via a transform filter. My problem comes when the second channel is unable to perform its task and the messages are queued. When messages are queued in the second channel it stops Mirth from processing any messages in any of the other channels , most specifically the routing channel.

    Once I am aware of the queued messages I stop the second channel until the error condition clears up . While the second channel is stopped the routing channel and the other channel being routed to both work properly and pick up where they left off.

    I'm not at all sure what settings to adjust to get every channel to work asynchronously. Does anyone have some insight? Thanks in advance

    Mr Johnathan Bravo

  • #2
    What are your queuing settings? The status of one channel shouldn't impact other channels on the box. The exception, of course, is that if you have an error on the receiving channel that is backing up the feeder channel, then yes, it may cause issues with the feeder channel. If you have the feeder destination set to queue and the receiver source set to queue, there shouldn't be any impact on other channels, messages will just continue to queue until the issue has been resolved.
    Brian Kirsanov
    Manager, Client Engagements
    Zen Healthcare IT
    [email protected]
    www.consultzen.com
    Youtube: https://goo.gl/yCd3UX

    Comment


    • #3
      Brian
      Thanks for the reply. on the feeder channel I have Source Queue "on (respond before processing) , and response set to "Auto-Generate ( before Processing)', Process batch is "No". The channel is tcp listener and I use a "source" filter script to do the routing with code like this.
      Code:
      if ((msgtype.indexOf("ORM") != -1))
      	{
      		router.routeMessage("Chan1", msg1);
      		logger.info ('Message type is :' + msgtype + '\n');
      		
      	}
      else if((msgtype.indexOf("ORU") != -1))
      	{
      		router.routeMessage("Chan2", msg1);
      		logger.info ('Messgae type is :' + msgtype + '\n');
      	}
      else
      	{
      		logger.info("DOH! \n");
      	}
      In this I am not using the "destinations" at all. Could using this method to route the data be the cause of my issues. In that is
      Code:
       router.routeMessage("Chan1",msg1);
      not returning instantly? The chan1 Source Queue settings are the same as the feeder channel.

      Thanks again for your assistance. I was off a few days and am now back at this issue.
      Mr Johnathan Bravo

      Comment


      • #4
        Yeah, you are essentially removing one layer of queuing by doing it that way. Take a look at http://www.mirthcorp.com/community/f...ead.php?t=9465 for some ideas on workarounds.
        Brian Kirsanov
        Manager, Client Engagements
        Zen Healthcare IT
        [email protected]
        www.consultzen.com
        Youtube: https://goo.gl/yCd3UX

        Comment


        • #5
          I would remove the source filter script and use destination set filtering to accomplish the same thing. Setup destinations for each channel and configure the queuing.
          Best,

          Kirby

          Mirth Certified|Epic Bridges Certified|Cloverleaf Level 2 Certified

          Appliance Version 3.11.4
          Mirth Connect Version 3.8.0
          Java Version 1.6.0_45-b06
          Java (64 bit) Version 1.6.0_45-b06
          Java 7 (64 bit) Version 1.7.0_151-b15
          Java 8 (64 bit) Version 1.8.0_181-b13
          PostgreSQL Version 9.6.8

          Comment


          • #6
            Thanks. I'm going to try that and test later this week. Will update the post after I do.
            MrJohnathanBravo

            Comment

            Working...
            X