There is an advance agent which is running on a single node to process the item and send an email notification. initially, it was getting run on a single node because of less data but now it has to be run on three nodes. If the first agent picks a record then the second or third should not pick the same item. Any suggestion to achieve this requirement?
I think you need to maintain a staging table which holds the status of each item that was processed by the agent activity. This staging table could have the two coloumns (ID, Work status), if required you can add the other coloumns as well.
In the advanced agent activity you need to acquire the lock of the work item that needs to be processed and once lock was acquired, process the item and at the end add the record in the staging table with the If the processing is successful.
In the first step of the activity just check whether the work item is there in the staging table with the processed work status. If not perform the above step.
Configure the advanced agent to run on multiple node types. In the agent schedule instance configure the agent need to be run on the specific time on the three nodes. With this apporoach only single node would be in-charge on the configured time.
Posted: 6 months ago
Posted: 14 Jul 2022 2:38 EDT
Bhanu Prakash G (BhanuPrakash_G)
Having an advanced agent to pick up records and once again queuing them into queue processor is a long shot.
Part of your workflow add a logic to queue with a wait time process for triggering the email. once wait time is done , it will send the required notification. this helps in running your system in any node , cloud compatible , high availability assured with less maintenance.
Get away with advanced agent as it is legacy and getting deprecated.
If you still continue to stay with advanced agent or rather a job scheduler , your solution will not be cloud compatible. in cloud you never know which node will be up and which will be down. it is dynamic every time.