I have an issue with using IPC's, so I am looking for you advice on this issue. The scenerio is:
I have an activity that is assigned to lets say 5 people. The destination rule is set to "plan all at once" and "create a slot for each destination.
In the activity I have an IPC call to a workflow that sends and email to the destination user. Currently, Only one of the five users get am email. When I go to the view flow and try to access the child processes I see the following.
As you can see, only one of the IPC has an end date and I can only view the view flow for one of the IPC.
If I replace the IPC call with a email event it works and all users get the email. However, for reasons, I wont go into, it has to be an IPC call.
Any thoughts or comment, please let me know?
Solved! Go to Solution.
I am not sure why you're facing this behaviour, have you tried to increase the Thread count?
Please navigate to the workspace > Management Console > Righ-click on Workflow Server > Edit Settings > Advanced Settings > Increase Thread Count from 20 to 40 > Save and test your process.
Wish this helps
That did not resolve the issue unfortunately. However, I think I know why this could be. I also have another IPC that does the same thing but that one does not complete stratight away as it has user actions. That is working fine and creating up to 10 - 15 IPC processes immediately almost.
This IPC completes straight away after it sends the email. . I think what may be happening is that , the first IPC completes (as in the actual ipc process is completed and not just the IPC call). The parent activity think that all is done and moves on. I am not sure how to test this however.
I believe when using the Plan Per slot loop, you will need a succeeding rule as below:
'When using the Plan per slot (no destinations) planning option, make sure to add a Succeeding Rule stating [ActivityDestinationInstance_Status] All = “Completed”'
From this KB: http://help.k2.com/kb000685
Or point 6:
A Succeeding Rule checks whether all slots of the InstancesComplete data field evaluates to True. As soon as all the instances have finished running, this Succeeding Rule will succeed and the parent process continue.
From this documentation:
This should prevent the activity from completing until all IPC instances are finished running.
Thanks for your reply. I am not using "Plan per slot (no destinations)". I am using the "Plan per destination (all at once)" because there are destination users in this activity. But I followed the guide and put a succeeding rule in for ActivityDestinationInstanceStatus ALL Slots = "Completed". This HAS fixed the initial issue but it has thrown another bigger issue. Once all the IPC calls have been started, the parent workflow goes into a completed state instead of instead of process moving on to the next activity. There is no line rule set in th econnecting line, so it should move as normal to the next activity. And it worked, before I put the succeeding rule in.
Please let me know if you have any ideas?
@Update:Found a solution to this. The IPC calls were set to "asynchronous" (dont wait for ipc to complete). I changed it to "synchronous" and this solved the issue without having to apply the succeeding rule. All the IPC are triggered and completed and then the parent process moves on to the next activity. As usual appreciate the help guys.