LinkedIn
Copied!

Table of Contents

Pega Customer Decision Hub agents

Version:

Only available versions of this content are shown in the dropdown

On top of the standard Pega Platform agents, exist a set of agents that manage the different aspects of Pega Customer Decision Hub. Review and monitor these agents on a regular basis to ensure that your application is running optimally. In the event of a failure in any of the agents, understanding the agent's role helps to assess the impact of the failure on the application.

The following tables contains descriptions of these agents, which are divided based on the part of the application that the agent is used in. For each of the agents listed, the Multi-node column contains a recommendation on whether the agent should be run on multiple nodes, based on the purpose of the agent and how it scales for performance.

Segmentation agents

Agent name Multi-node Description Node type
DeferredSegments Yes

Handles requests to manually run a segment from the Segment rule form. If there are many manual requests for larger segments, then having this agent running on multiple nodes speeds up segment runtime.

Queue items for this agent are instances of the System-Queue-DeferredSegments class.

If there are Broken-Process queue items for this agent, marketers might experience failures or delays in their segments. Review the details on the queue item to determine the cause of the failure.
BackgroundProcessing
SegmentSchedule Yes

Manages the scheduled run of segments, which is configured in the Options and Schedule tab of the Segment rule form. If there are recurring runs, the agent auto-manages its own queue items. There should be only one queue item per segment at any given point in time.

Queue items for this agent are instances of the System-Queue-ScheduledTask class with the Agent Name set to PegaMKT-Engine:SegmentSchedule.

Broken-Process queue items for this agent imply failures in scheduled running of segment. Consequently, these segments might have stale or incomplete data.
BackgroundProcessing
AnalysisSchedule Yes Similar functionality to the SegmentSchedule agent, but instead of segments, it runs Analysis Project rules according to the schedule. BackgroundProcessing
ManageMasterSegment Keeps the Master Segment view in sync with all the segments currently created in the system. The Master Segment is used by Pega Customer Decision Hub 8.2 and older to support the segment filter functionality. In Pega Customer Decision Hub 8.3, this agent still exists but is no longer used for segment filter support. BackgroundProcessing

Offer runtime agents

Agent Name Multi-node Description Node type
ProcessOverlayAction Yes Performs background processing of the Update wait time and Stop action settings on the Action rule. For more information, see Monitoring actions. BackgroundProcessing
ProcessProgramRun Yes

Initiates a campaign run at runtime. The agent creates the necessary infrastructure, such as batch classes and tables, and executes the strategy based on the segment input population that is configured. If configured on the campaign, it also triggers the refresh/rerun of the segment before starting a strategy. In a non-partitioned environment, this agent applies volume constraints.

Queue items for this agent are instances of the System-Queue-ProgramRun class.

If the campaign run work object does not show any progress for a long time, review the status of this agent and its associated queue items.
Batch
ProcessEventRun Yes

Handles the processing of received real-time events. The agent reads the list of received events from a staging table, processes them, and then removes them from the table.

Processing an event involves:

  • Checking the validity of the inbound event data for each of the associated campaigns
  • Checking the validity of the customer (if configured)
  • Assembling the appropriate context
  • Executing the strategy associated with the campaign
  • Executing offers that the strategy outputs
Event campaigns use the MKT_EVENT_P<ProgramID> tables instead of the batch output tables.
RealTime
ProcessCampaignRun Yes This agent is only available if Field Marketing is available as part of your Pega Customer Decision Hub application.

Executes the actions for the selected list of customers in a Field Marketing campaign.

Batch
ProcessWaitFlows Yes

Triggers an action flow for the WaitExpired paths in an action flow. Every campaign run creates one or more (if partitioned) of these queue items to periodically scan the batch table for records whose wait duration has expired. If any such actions are found, this agent resumes their processing along the WaitExpired path.

Queue items for this agent are instances of the System-Queue-WaitFlow class.

Batch
ProcessWaitingGenericFlow Yes

When actions are initiated in a non-batch scenario (such as Inbound), the records are stored in the MKT_DATA_OFFER table in the data schema. This agent scans through such actions to find any that have expired and resumes their processing along the WaitExpired path.

Queue items for this agent are instances of the System-Queue-GenericWaitFlow class.

RealTime
RunHandleResponsesDF Supports updating the adaptive model responses based on the stages and timeouts configured in the outcome optimization configuration. The agent checks if a real-time data flow run is in progress for the pxHandleResponses data flow. If not, it creates one and starts the data flow run. Batch
ProcessWaitingNBAOffers No Periodically checks if there are actions that need WaitExpired configured for the Next-Best-Action Designer triggered events. Primarily operates on the table/class that is mapped to: PegaMKT-Data-NBAOffer. RealTime

Delivery channels agents

Agent Name Multi-node Description Node type
SendEmailsInBulk No Periodically reads the email output table PR_DATA_CORR_EMAIL and performs email transmission. The agent removes successfully transmitted emails and, in the event of a failure, updates the status to Failed. Custom1, Batch
MonitorChannelQueue Yes Updates the log file used to monitor the email queue. Pega Customer Decision Hub can log sent, failed, and queued emails, as well as the queue depth, that is, the emails which have not been processed yet. By default, the agent updates the log file at one-hour (3600 seconds) intervals. BackgroundProcessing
SendSMSInBulk No Periodically reads the SMS output table PR_DATA_CORR_SMS and performs SMS transmission. The agent interfaces with the configured SMSC and transmits the SMS message. In the event of a failure, the agent removes any successfully transmitted SMS messages and updates the status to Failed. custom2, Batch
InboundSMSReceiver No Periodically sets up listeners to handle inbound SMS messages for the configured Inbound SMS Accounts. The agent calls the InboundConnector activity to set up the listener. For each message that is received, the agent creates a new instance of PegaMKT-Data-Inbound-SMS, populates the appropriate details, and saves it to the database. RealTime
InboundSMSOfferFlow No Processes instances of PegaMKT-Data-Inbound-SMS. For each message, the agent determines the relevant Customer and SMS Account context, parses the inbound message based on the SMS Account configuration, uses this information to determine the behavior and action, and (if appropriate) initiates/resumes the action. realTime
OutboundMaster No
Used for backward compatibility and upgrade purposes.
A master outbound agent that determines which File/Database Templates need to be processed, and then creates queue items for the WriteOutboundAgent to process them.
Batch
WriteOutboundAgent Yes
Used for backward compatibility and upgrade purposes.
A standard agent that performs File and Database output processing based on the details in the queue item created by the OutboundMaster agent. WriteOutboundAgent processes records from the MKT_STAGING table in the Pega Customer Decision Hub schema.
BackgroundProcessing
FileDBSchedule Yes
Used for backward compatibility and upgrade purposes.
Performs the scheduled finalization for the File and Database output channels.
BackgroundProcessing
PushNotificationMaster No Periodically checks the push notifications table PR_DATA_PUSH_MESSAGE to create new queue items for the PushNotificationProcessor agent in order to transmit notification messages. Each queue item corresponds to a (logically simulated) partition value in the table. BackgroundProcessing
PushNotificationProcessor Yes Processes messages that are part of a specific partition in the PR_DATA_PUSH_MESSAGE table. The agent transmits these messages based on the configurations for the Push Notification App and Variant (specified on the Push Notifications landing page). BackgroundProcessing
APNs Feedback Service No Uses the Apple APNs Feedback service to periodically retrieve uninstalled push tokens and calls Pega Customer Decision Hub's Push Notification Un-registration service to remove these uninstalled push tokens from the registered list. BackgroundProcessing
File/DB template based job schedulers No These are not enabled out-of-the-box, but when a file or DB template is configured with schedule options and then saved, the new job schedules with the name of the template rule and the channel appended will be created in the artifacts ruleset.

For example, if the name of DB template was OutboundDailyNBA, then the job scheduler will be created, in the configured artifacts ruleset, with the name: OutboundDailyNBA__DB.

BackgroundProcessing

Queue processor

Agent Name Multi-node Description Node type
FinalizeFileDBTemplate This queue processor is disabled by default to help optimize performance. However, if your file and database templates must be processed at extremely high volume, this dedicated queue processor can be enabled to further increase the performance.

For more information, see Optional: Enabling the FinalizeFileDBTemplate queue processor.

BackgroundProcessing

Paid media agents

Paid media agents are disabled by default. Refer to the table below for information about when to enable each agent.

Agent Name Multi-node Description When to enable Node type
ProcessPaidMediaRuns Yes Initiates a paid media run for paid media queue items created by campaign runs when paid destinations are configured in the Next-Best-Action hierarchy. After the paid media run starts, data flows are created for each paid destination in the hierarchy. Once all data flow runs are either completed or failed, work objects are created for any errors that occurred during the run. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager . After you configure paid destinations in the Next-Best-Action hierarchy. Batch
ProcessExpiredPaidAudienceRecords No Removes individuals from the All Next-Best-Action managed audience after the time specified in the paidmedia/allNBAAudience/TimeToLive Dynamic System Setting. By default, this agent runs once every day. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager After you configure paid destinations in the Next-Best-Action hierarchy.
ProcessPaidSegmentRuns Yes Initiates a paid segment synchronization after the refresh of a segment that has paid destinations enabled. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. After you configure any paid segment synchronization. Batch
ProcessPaidMediaReSync Yes Processes the resynchronization queue for paid destinations. Resynchronization queue items are created for each update to the PII mappings used by Paid Media Manager or to an individual’s PII values, such as an email address, phone number, or device ID. The ProcessPaidMediaReSync agent processes the queue item and triggers the resynchronization for the right destination. By default, this agent runs every 5 seconds. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. After you configure any paid destinations. Batch
PaidMediaArtifactsMaster No Creates one queue item for each destination where you enabled automatic campaign generation. PaidMediaArtifactsGenerator must be enabled to process the queue items created by this agent. By default, this agent runs every 30 minutes. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. If you enabled automatic campaign generation in the paid destination settings. BackgroundProcessing
PaidMediaArtifactsGenerator Yes Creates Facebook Ads and Google Ads lookalike audiences as well as campaign and ad set scaffolding. By default, this agent runs every 30 seconds and processes any queue items created by PaidMediaArtifactsMaster. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. If you enabled automatic campaign generation in the paid destination settings. BackgroundProcessing
PaidCustomerReSyncMaster No Identifies the changes in individual PII data, such as email addresses and phone numbers. If you update an individual's email address or phone number, at the next agent run, the agent triggers a re-synchronization of customer data. For each unique paid destination, the agent creates one CustomerReSync data flow run. Outbound, real-time and segment-based paid audience synchronization is postponed while the CustomerReSync data flow runs. If a synchronization is in progress, the CustomerReSync data flow for that destination is postponed until the current synchronization is completed. By default, this agent runs once every 7 days. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. After you configure any paid destinations. Batch
UpdatePaidMediaMatchRate No Updates the match rates for paid audiences visible on the Paid Audiences landing page. By default, this agent runs once every hour. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. After you configure any paid destinations. Batch

Paid media job schedulers

Paid media job schedulers are disabled by default. Refer to the table below for information about when to enable each job scheduler.

Job Scheduler Name Description When to enable
PaidNotificationsGenerator Creates error and notification work objects. By default, this scheduler runs once every hour. After you configure any paid destinations. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager.
PaidMediaESCheckAndReindex Checks the paid media master records count in the database table and ES index. If there are any conflicts, the schedule reindexes the ES index with records from the master database table. If you enabled full text search on the Search landing page. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager.
TokenValidityChecker Checks the validity of the tokens used to communicate with paid destinations. If the token is expired or invalid, the scheduler creates an error work object with the default urgency of 80, and displays a notification in the notifications section of Next-Best-Action Designer. For segment synchronization, the notification is displayed in the notifications section of the Paid Sync tab of the segment. After you configure any paid destinations. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager.
OfflineConversionRTTrigger Runs at regular intervals to read the real-time offline events from the sync staging table and synchronized them to the network. By default runs every hour. When you want to sync the offline events, captured through Capture Response REST API to the network.
RemoveStalePaidMediaEntries

Audience sync creates distributed map entry to avoid the rate-limiting error from other nodes.

In 8.5 distributed map entries persisted in Redis DB, even the full cluster restart will not clear these entries.

This job scheduler runs daily to identify the entries created by a failed node and removes them from the distributed map.

When running paid media sync the audience to paid network.

Cleanup and data-mining agents

Agent Name Multi-node Description Node type
ProcessPurging No Cleans up batch assets, such as classes and tables, that are created while running a program. A cleanup occurs when the following conditions have been met:
  • The ProcessProgramRun agent has completed the processing for all of its actions. The status of all actions must be Completed
  • The timeframe to purge a work object has lapsed. The timeframe is specified as a number of days. You can view this setting in the Pega Customer Decision Hub portal on the Application settings landing page, in the Delete campaign data older than field. For more information, see Administrative Settings.
Additionally, the ProcessPurging agent configuration uses the MKTPurgeMaxRecords setting to determine the maximum number of records that may be purged during a cleanup. By default, the maximum number of purged records is set to 100. To change the default value, you first need to add this setting to the Dynamic System Settings list, and then set the new maximum number.
BackgroundProcessing
RefreshCampaignOfferStats No This agent is only available if Field Marketing is available as part of your Pega Customer Decision Hub application. Performs data mining by periodically refreshing a materialized view in the database to summarize the Interaction History data for Field Marketing reporting purposes. BackgroundProcessing

Startup and maintenance agent

Agent Name Multi-node Description Node type
PegaMKTStartupAgent Yes Handles routines, maintenance, and checks that need to occur during the application server startup. The agent can be used for data instance re-sets or for whenever something must be done during node startup. BackgroundProcessing
ResilenceHandler No Detects segmentation process crashes during runtime and recovers the long running and not recoverable processes to a healthy state. The processes can be re-run or edited again. BackgroundProcessing
Did you find this content helpful?

Have a question? Get answers now.

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