Workflow provided by Oracle is a Scalable process and can scale up to n number of threads.But the business process that are riding on the workflow may have some limitations.
In this blog I will talk from the prospect of the Oracle Order Management and how you decide abt how many threads of background process you want to run.
Workflow background process when pick Order line , it will lock it immediately , so that is should not pick by another parallel running thread, so it doesn't matter how many background process you are executing.But Please note that If you are processing a MODEL(ATO/PTO/KIT ) etc or lines in FULFILLMENT SET and you are at FULFILL_LINE workflow activity, if some of the lines picked and lock by one workflow background process and rest of the lines of same Model/Fulfillment set locked by another thread of the background process , then in that case system will raise an exception "not able to lock all the lines", and set the status of all the lines of MODEL /SET to deferred .These lines will eligible to be picked by the next run of the threads (offcourse if they not lock again by multiple threds).
So if your business process is mostly related to Model or set , think twice before increasing the # of threads for workflow background process.
Post a Comment