Posted: 25 May 2015 3:10 EDT Last activity: 21 Oct 2015 7:17 EDT
is spin off Flow really parallel process as PEGA says?
Main flow and Spin Off flow both created assignments but user can perform action on only one assignment at a time as user gets lock on work object, then what is the meaning of parallel process , can anybody please explain.
You are correct that in parallel processing, with multiple assignements, only one assignment can be worked on at a time. In PRPC that behavior is defined as "default locking" - would only allow one user to update a work object at a time.
There is a new feature in PRPC 7 that is called "optimistic locking". It will allow more than one user to access the same work object at the same time. If more than one user has accessed the same work object and opened it, who's work will get saved? From the help:
"Optimistic Locking — Enables multiple users to open and review or work on a single case at the same time. When the first user submits the updates, other users are notified that the case has been updated when they attempt to commit their updates. Those users can either:
Close his or her case without submitting the changes
Refresh the form to see the other user's updates before submitting their own updates. Users cannot commit changes without using the review option."
It is not parallel processing in the computer science term of using a different thread. The spin-off shape is parallel in the sense that the assignments of the spun-off flow can be worked independently of those in the spawning flow.
Parallel processing doesn't mean that the spin off assignment can be worked when the main work object is being worked by another user, you can use assign this spin off process to any other work basket and can be worked by any other agent for further processing if the main case is not being worked by any user.
The main use of spin-off is to trigger a subflow (same work object or can be a different work object) and main work object can continue in the process without waiting for the subflow completion like in split-join or split-for-each. Ideally no two users can update the same work object same time, this will ensures the data integrity.