Question


Societe Generale
IN
Last activity: 31 Jan 2017 8:37 EST
Agents Parallel Run - Performance of the WO Creation
Hi Team,
We are working on improving the performance of the WO creation by agents. Need suggestions on this.
We have a standard agent which picks records from the queue and creates a WO. Currently agent configured to run only on one node. Since we will have huge number of records in the queue, we need to enable agents on the multiple nodes so once the record is picked by agent on one node, agents on another node should not try to process that record and proceed with the next set of record.
Let us know your suggestions on this.
***Updated by moderator: Lochan to add Categories***
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!


Accenture Australia
AU
Hi Manjunatha,
To improve the performance of the agents in creation of work objects, raise a service request to pega for the reindexing of the data table. For the agents picking cases use the modulo operator to make the agents should not pick the other case which is already took by another agent.
Thank you.


Societe Generale
IN
Can you explain little more on the Modulo operator. where i need to use this ?


Pegasystems Inc.
IN
What you are thinking is a very viable solution. Are there any concerns in general that you are worried about ?
Since you are using standard agent and you can enable AQM (if not already enabled), then this agent should be able to handle multiple nodes as well.
Let us know if this helps or if there are any particular concerns in general :)


Societe Generale
IN
Yes we have AQM enabled. If agent on node1 is processing the record from queue. if agent on node2 tries to access the same record, it will get a lock error if i am correct.
What i need is since record is processing by Node1 agent, other node agents should not try to access this record from queue. Will this be handled if i enable AQM?


Pegasystems Inc.
IN
Yes this will be handled by AQM. Infact there is no lock error, what really happens is that once that agent picks up the queue item, it sets the status of queue to tell that this is already being processed (Now Processing). And the second node will not even pick this queue item based on this status.
Let us know this you need more information :)


Societe Generale
IN
Thanks for the inputs, i will try this out and let you know if i need more information on this,Thanks


Virtusa IT Consulting
AE
If I understood it correctly you want to implement locking mechanism for the agents running on multiple nodes?


Societe Generale
IN
Not exactly, if the record is locked by agent on some node, other node agents should not try to process that and move to the next record which is not picked by any other agents.


Virtusa IT Consulting
AE
Ok, so whenever an agent locks or processing a queue record the other agent should skip to the next record added to the queue.
If you have a custom agent running then you could probably add the when condition as whenever the pyItemStatus property (on queue page)
is 'Now-Processing' skip the record and get the next item which has 'Scheduled' status. However if you are using Standard agent then typically AQM should take care of your worry.


Capgemini Sverige AB
SE
Hi Manjunath,
You can use multiple agents like agent1,agent2,agent3,agent4,agent5 and use Modulo function with modulo 5 to queue the work object depending on the result.
For example: if WO-124, the result is 4 then you can write logic to move this work object to Agent4 and accordingly.
this is one way you can prevent the same work object is being processed parallelly.