Background agent is still running even if it got switched off, also it is processing the next item from the queue right after finishing the previous not caring about recurring time
Hi all,
I need some help to understand a strange behavior by running a standard auto queued agent.
We have a standard auto queued agent which calls an activity and does some work in a periodic time of 120 sec.
This agent was already running in production quite well for weeks.
Hi all,
I need some help to understand a strange behavior by running a standard auto queued agent.
We have a standard auto queued agent which calls an activity and does some work in a periodic time of 120 sec.
This agent was already running in production quite well for weeks.
Now we added a new step at the beginning to re-queue the current work item for minimum process time of 24h based on a condition and write an InfoForce log to see whether this items got re-queued.
After we had deployed this agent within a new ruleset version, we faced the following in the logs:
2017-12-09 10:18:42,541 [.PRPCWorkManager : 7] [ STANDARD] [ ] [ Ruleset:02.01.01] (Mgmt_TransferOfContacts.Action) INFO - Skipped
2017-12-09 10:18:42,638 [.PRPCWorkManager : 7] [ STANDARD] [ ] [ Ruleset:02.01.01] (Mgmt_TransferOfContacts.Action) INFO - Skipped
2017-12-09 10:18:42,746 [.PRPCWorkManager : 7] [ STANDARD] [ ] [ Ruleset:02.01.01] (Mgmt_TransferOfContacts.Action) INFO - Skipped
2017-12-09 10:18:42,811 [.PRPCWorkManager : 7] [ STANDARD] [ ] [ Ruleset:02.01.01] (Mgmt_TransferOfContacts.Action) INFO - Skipped
2017-12-09 10:18:42,876 [.PRPCWorkManager : 7] [ STANDARD] [ ] [ Ruleset:02.01.01] (Mgmt_TransferOfContacts.Action) INFO - Skipped
2017-12-09 10:18:42,946 [.PRPCWorkManager : 7] [ STANDARD] [ ] [ Ruleset:02.01.01] (Mgmt_TransferOfContacts.Action) INFO - Skipped
2017-12-09 10:18:43,037 [.PRPCWorkManager : 7] [ STANDARD] [ ] [ Ruleset:02.01.01] (Mgmt_TransferOfContacts.Action) INFO - Skipped
...and a lot of more logs like this...
How this can happen? The Agent is setup to recurring each 120sec?
After a while the condition in the first step changed and the work items got processed one by one again without the recurring time of 120sec.
This brought us another issue: OutOfMemoryError!
I can imagine this because of thousands of items which were scheduled and the agent where running them without waiting the time setup for recurring; maybe even in the same Thread!?
If the requestor run all items really within the same thread, which I didn't thought it should work like, the pages where not cleaned up properly from the engine and would cause for sure an OutOfMemoryError after a while. The agent where processing about 1500 work items in 13h before running into an out of memory.
So, when this agent started to run again after restarting the node, we tried to switch off this agent in the SMA, but the agent doesn't stop at all and picked up next work items one by one which were scheduled, again without waiting 120sec like the agent scheduler has been setup.
Only when I interrupted the requestor in the SMA, the agent processing got stopped and ALL scheduled items in the queue (SYSTEM-QUEUE-DEFAULTENTRY) for the specific agent name got moved into the Broken-Queue.