Hi, We have a listener node(Receive Message) node in our process model whi

Hi,
We have a listener node(Receive Message) node in our process model which listens for the message once the process starts and is active throughout .
We have another process model (a standalone process) which contains send message node.
Now, according to our use case the message is sent from this process model(standalone process model) to all the instances of the above process model which has a listener node in it once or twice in 15 days or so.
Currently lets say, there are 200 instances running to which the message is sent from the process model consisting of send message node. As time goes,number of instances will keep increasing as a result of which number of instances to which message needs to be sent will also increase.
Hence, our concern is whether or not it will put any load on execution engines or not? Are sending messages to multiple instances in bulk at the same time are reliable? Is there any probability that few instances will r...

OriginalPostID-73610

OriginalPostID-73610

  Discussion posts and replies are publicly visible

  • ...eceive message, and few will not receive the message?

    If it's a problem, then is there any work around to achieve the above use case?
    The entire purpose of doing this is whenever there is change in some process variable value by user (which is done by a separate standalone process - a process which contains send message node), we need to inform all those running process instances which contains those modified process variables and take certain actions on those instances accordingly.

    Any help on this would be appreciated.
  • Is there any probability that few instances will receive message, and few will not receive the message?

    If it's a problem, then is there any work around to achieve the above use case?
    The entire purpose of doing this is whenever there is change in some process variable value by user (which is done by a separate standalone process - a process which contains send message node), we need to inform all those running process instances which contains those modified process variables and take certain actions on those instances accordingly.

    Any help on this would be appreciated.
  • For me messaging is very reliable. There are a few corner cases I stumbled upon which can be worked around in the receiving model. When you have some nodes following the receiving node and receive 2 or more messages in a short time PVs are overwritten. Synchronizing of PVs is not always possible. Another thing is: You have two receive nodes and both save some custom properties into PVs. It might happen that the wrong node receives the message first, an error occures because of the missing property and the message is cancelled before the other node receives it.
  • The first case I created some form of a messaging queue where for each message a process is started which sends the message and waits for a acknowledge message from the receiving process. But: The message is sent only if the process instance itself is the longest running one.

    Second case: Access custom message properties with the "property" or "index" function.

    In short: Any messages that have not arrived had their cause in the infrastructure or in modelling.

    Does this help you?
  • Other approach to this can be to Use Get and Set Process variables. You can set the process variables of the target process (rather than sending an email) and create a rule based on that process variable in the target process to do the execution you require.