Skip to main content
Skip table of contents

System Tasks Tab

Overview

The System Tasks tab is used to list and provide control over a series of tasks that are executed in the background by the RPI Task Manager Windows service.

These tasks serve a variety of purposes, and each is documented separately below. The System Tasks tab contains a toolbar and the System Tasks list.

Toolbar

The toolbar exposes the following:

  • Last updated: the date and time at which the list of system tasks was last refreshed. Refreshing tasks allows their current states (e.g. Last run succeeded, Running, etc.) to be displayed.

  • Save Changes: this button is enabled when change(s) have been made to one or more tasks' Enabled status or Schedule details. Invocation persists the changes and removes from display the orange label displayed when outstanding changes are present (documented elsewhere). Following a successful Save, the list of tasks is refreshed to display their current statuses. Note that enabling or disabling a system task, or editing its schedule, generates an audit record.

  • Refresh: clicking this button reloads details of the system tasks.

System Tasks List

This section lists system tasks in alphabetical order. The following tasks are listed:

Attribute value catalog: this task is responsible for the initial collation of and ongoing update of attributes’ lists of values. On execution, the task checks if there are any attributes that are due to be refreshed (in accordance with the AttributeRefreshInterval setting – e.g. refresh every 30 days). The lists of values of any that are due are updated.

If system configuration setting AttributeRefreshColumnsOnly is set to True, on execution of the task, only database column attributes' values are refreshed. If set to False, all attributes' values are refreshed.

  • Audience snapshot requests: monitors for the insertion of data into data warehouse table RPI_DataflowSnapshotRequests. If the value inserted matches the external key of an existing audience snapshot, the snapshot in question is executed and an audience instance created.

  • Calculate Count Result widget counts: this task is responsible for calculating counts and aggregate counts for any configured count results widgets. At its execution, it snapshots counts and aggregate counts of the selection rules with which count results widgets are configured.

  • Callback service processor: where supported, this task processes email events from an email provider's callback service and imports them into the data warehouse. At execution, the task a number of queue readers in accordance with the CallbackServiceProcessorNumReaders system configuration setting, and reads email events concurrently from the queue defined at the CallbackServiceQueuePath setting. Events data is then ingested into a provider-specific 'RPI_[Provider]Events' data warehouse table.

The SendGrid Callback service supports the use of a queue for processing email events. You can write email events to the tenant's default queue provider using the aforementioned system configuration settings. The Callback service will then read email events from the queue and ingest them into the into SendGridEvents table.

  • Channel [channel name] data synchronization: one task is shown for each channel. These tasks are responsible for the retrieval of results data provided by third-party channel providers. Each task is created at the point of the channel’s creation and is deleted when the channel is deleted.

  • Client Health Monitor: it is this task’s responsibility to perform system health checks specific to the current tenant to which the RPI client application is connected. Its most recent results are displayed in the System Health task when Refresh System Health & Tasks is invoked. Upon completion of the task, if Attention Required issues or Warnings were discovered, email alerts are sent to those users who have subscribed to the relevant alert types. If the task is unable to connect to the data warehouse, unlike other scenarios, a series of attempts to make a connection are not repeated over a ten-minute period – rather than delaying the display of system health, the database connection is assumed to require attention immediately.

  • Contact universe counts: updates cached values for audience contact universe counts.

  • Event Alerting: on execution of this task any new alert emails scheduled for delivery due to occurrence of system events at the current tenant are sent to appropriate users.

  • Export backfill state data: this task exports offer history state data for any audience definition at which backfill files are configured to be generated. When enabled, by default, the task polls for data every minute. When data is found, it generates an offer history states backfill file ('[Table name]_States_[GUID]'). If the Export channel metrics property is checked at the audience definition, channel execution results files are generated ('op_ChannelExecutionResults_[GUID]', query type UPSERT).

  • Fulfillment state flow count updates: this task is responsible for collecting custom state flow counts for fulfillment activities (e.g. offers and exports) within interactions.

  • Goal smart asset monitor: this task is used to effect A/B/n testing, and machine learning algorithm invocation, for goal smart assets. Full details of goal smart assets can be found in the Smart Asset Designer documentation.

  • Housekeeper: it is the job of this task to control the housekeeping activities listed within the Operations Housekeeping tab (e.g. Workflow system and File system housekeepers). Note that this task is only visible in a multi-tenant environment to users who are cluster admins.

  • Recommendation results importer: retrieves and persists in the database lookup results provided by a Product Recommendation endpoint.

  • System Health Monitor: this job is used to determine the state of health of the current tenant’s RPI installation’s cluster core. Its most recent results are displayed in the System Health task when Refresh System Health & Tasks is invoked. Upon completion of the task, if Attention Required issues or Warnings were discovered, email alerts are sent to those users who have subscribed to the relevant alert types.

  • Web cache data importer: this task is used to load data generated during visitors’ interactions with RPI landing pages into a series of data warehouse tables. Full details of the tables, and the data loaded therein, can be found in the RPI Realtime documentation. Note that this task is disabled by default.

  • Web events importer: this task is responsible for importing all realtime events into the system. These include:

    • Landing page visits, link clicks and custom states/metrics. These can be viewed at the Realtime Tracker and Realtime Details interfaces.

    • Web events data associated with any web analytics adapters defined at the current RPI tenant.

When retrieving results for a Google analytics adapter, if the maximum number of daily Google API calls for the account with which the adapter is configured is reached, collation of results will cease until midnight Pacific Standard Time, at which point it will resume.

Web form processor: this task is responsible for processing web form submissions, by removing them from a message queue and writing their details to the data warehouse.

For each system task, the following are shown:

Status icon: illustrates the current state of the task. A tooltip is shown on hover:

A task’s status may be one of the following:

  • Last run succeeded

  • Last run failed

  • Run requested

  • Running

Name: a descriptive tooltip is shown on hover:

Last completed… details: the date and time of the task’s most recent execution are displayed, along with the date and time at which the task is next scheduled to run, in the following format:

If a task is Disabled, the message 'This task is disabled' is displayed instead of its Last completed… details

If a task is Enabled, and its status is Run requested or Last run succeeded, its Last completed… details continue to be shown.

If a task is Enabled, and its status is Running, its Last completed… details are replaced by the message ‘Now running’.

If a task’s Enabled status is changed, or its schedule updated, its Last completed… details are replaced by the message 'Save Changes to complete the update to this task's schedule'.

Polling/Schedule details: these are displayed to the top right of the task. Its manner of display is dependent on whether the task is defined as executing on a daily basis at a specific time:

…or whether defined as executing at a periodic interval:

Polling/Schedule details are only displayed if the task is Enabled.

Enabled/Disabled: this button is displayed to the left of the task. By default, tasks are Enabled. Clicking the toggle button changes the task’s current enabled state to either enabled:

…or Disabled:

.

When you change a task’s Enabled status, an orange message is shown at the top of the list of system tasks:

In addition, its Last completed… details are replaced by the text ‘Save Changes to complete the update to this task's schedule’.

Clicking Save Changes at the System Tasks toolbar persists the change to the task’s Enabled status (along with any other outstanding changes) and removes the message from display.

A task’s Enabled status has an effect upon its display:

If a task is Disabled, the following message is displayed instead of its Last completed… details.:

‘This task is currently disabled, but last completed at [date/time] and ran for [duration]’

Its Polling/Schedule details and Edit Schedule and Run Task Now buttons are not shown.

If a task is Enabled, and its status is Run requested, its Last completed… details continue to be shown, as do its Polling/Schedule details. Edit Schedule remains enabled, but the Run Task Now button is disabled.

If a task is Enabled, and its status is Running, its Last completed… details are replaced by the message:

‘Now running. Started at [date/time]. Last completed at [date/time] and ran for [n] [units]. Will run again at [date/time]’

Edit Schedule remains enabled, and the Run Task Now button is disabled.

If a task is Enabled, and its status is Last run succeeded, its Last completed… details and Polling/Schedule details are displayed. Both Edit Schedule and the Run Task Now button are enabled.

  • Run Task Now: this button is only available if the task is Enabled. Invocation sets its status initially to Run Requested, then to Running.

  • Actions button: exposing Run Task Now and Edit Schedule options (each covered separately).

  • Run Task Now: this option, accessible from the Actions button’s menu, is only enabled if the task is Enabled. Invocation sets its status initially to Run Requested, then to Running.

  • Edit Schedule: this option, accessible from the Actions button’s menu, is only available if the task is Enabled. It allows you to define when the task will execute. Invocation displays the Edit System Task Schedule dialog.

A radio button allows you to define whether the task will run:

  • Every day at [hour] : [minute]

  • Every [n] day(s) [hours] : [minutes] : [seconds]

When you change a task’s schedule, an orange message is shown at the top of the list of system tasks:

In addition, its Last completed… details are replaced by the text ‘Save Changes to complete the update to this task's schedule’.

Clicking Save Changes at the System Tasks toolbar persists the change to the task’s schedule (along with any other outstanding changes) and removes the message from display.

Error details: these are only shown when you highlight a task with a Last run failed status. You can copy the error details to the clipboard.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.