Skip to main content

This content has been archived and is no longer being updated.

Links may not function; however, this content may be relevant to outdated versions of the product.

Overview of agent processing

Suggest edit Updated on September 13, 2021

Summary

There are a number of steps involved in creating and running an agent. To understand how and why you would create any one part of an agent (the agent activity, the rules, etc.), you should understand the overall process.

 

Suggested Approach

First, determine what processing your application should do in the foreground, and what should be done in the background. 

For example, if the application is processing international transactions, you may need to look up exchange rates in an external database.  This could be done in the foreground by connecting to the external system, but that would require users to stop work on the item and wait for the system to retrieve the data before they could do further work.  The database connection and retrieval of information may also be done by an agent as a background task, so the user doesn’t have to wait and may continue processing that work item.

After you have delineated the tasks that agents should accomplish, you must modify each “event” (item) which creates an agent task (sending email, handling an assignment) to put the appropriate agent task into the agent queue for the agent to process.  (For details, see How To Enter Items into the Agent Queue.)

Next, you must create the agent.   (For details, see How to create an agent.)

When Process Commander is started, the agents begin running and processing their tasks, as follows:

Agent Startup

1.  When Process Commander starts, the Agent Manager (master agent) gathers and caches all the agent configuration information for your system. 

2.  The Agent Manager launches the initial startup of all the agents by checking each of the Agents rules and reading all the agent settings for those rules. 

3.  For each Agents rule, the Agent Manager determines whether there is a corresponding Agent Schedule data instance for each node to use to start the agents. 

4.  If no Agent Schedule data instance exists for this node, the Agent Manager creates one by copying the relevant information from the Agents rule.

Agent Queue Processing

For each agent which is marked Enabled in the Agent Schedule, the Agent Manager checks its Queue Mode.

Legacy or Advanced Mode

1.  Agent Manager runs the agent activity.

2.  The agent sleeps for the specified interval.

3.  When the sleep interval has passed, the agent wakes up and begins processing from Step 1 of this section.

Standard Mode

1.  Agent Manager checks the agent’s queue for entries.

  • If there are no entries in the queue, this agent will go back to sleep for the specified interval - without running the agent activity - and then check again.

2.  If one or more entries are found in the queue, the system opens the first queue entry.

3.  The system runs the agent activity for each item in the queue.  For each entry:

  • If agent processing succeeds, then the Agent Manager commits all deferred operations (saves or deletes) to the database.
  • If agent processing throws an exception on any operations, then the Agent Manager does a rollback of all entries associated with that task.

NOTE:  Unless other time settings are configured, the entries are processed in the order in which they were loaded into the agent queue. 

4.  When all entries are processed, the agent goes to sleep for an interval.  

  • If the Pattern for this agent is set to Periodic, then the agent sleeps for the amount of time specified in the Interval column. 
  • If the Pattern for this agent is set to Recurring, then the agent sleeps until the next scheduled wake-up time, as specified in the Advanced dialog boxes.  (For details, see Agent Scheduling Intervals.)

5.  When the interval has passed, the agent wakes up and begins processing from Step 1 of this section.

Did you find this content helpful? YesNo

92% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Ready to crush complexity?

Experience the benefits of Pega Community when you log in.

We'd prefer it if you saw us at our best.

Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us