Performance enhancements for Indicator nightly job

  • Release version: Xanadu
  • Updated August 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Performance Enhancements for Indicator Nightly Job

    The recent performance enhancements for the Indicator nightly job introduce new custom queues and an optimized architecture to facilitate parallel processing. This update aims to improve the efficiency and speed of indicator processing, ultimately enhancing data handling within the ServiceNow platform.

    Show full answer Show less

    Key Features

    • Custom Queues: Two new queues, the Indicator Data Queue and the Supporting Data Queue, have been established to improve the processing of indicators and the collection of supporting data related to controls, risks, and issues.
    • Optimized Processing Steps: A three-step process is employed, involving queuing, processing, and supporting data collection, which increases overall performance.
    • Data Model Changes: New fields in the Indicator template, such as Sample collection type (Count or Percentage) and Due date duration, enhance data management and task tracking.

    Key Outcomes

    These enhancements allow ServiceNow customers to process a larger volume of indicators more efficiently, significantly reducing execution time. The introduction of the Supporting Data Collection Job further optimizes data handling, ensuring timely updates and notifications for indicator tasks. Overall, customers can expect improved performance, streamlined processes, and better data accuracy in their governance, risk, and compliance efforts.

    To support parallel processing capabilities, two additional custom queues such as the Indicator Data Queue for processing indicators, and the Supporting Data Queue for handling events related to control, risk, and issue updates and to collect the supporting data, have been introduced.

    New architecture for effective processing of indicators

    The execution of indicators has been optimized by implementing a three-step process, utilizing two custom queues for efficient processing.

    In the initial step, a set of indicators requiring processing is queued up in the Batch Indicator Data Queue. The Batch Indicator Data Processor then runs the indicators, sets the status, and creates the indicator results or tasks. The indicators are then moved to another custom queue for supporting data collection and updating dependent objects like controls, risks, and issues.

    In the second step, the Indicator Supporting Data Processor picks up the indicator records from the Indicator Supporting Data Queue and updates the control or risk status, also creating or updating issues based on the configuration. Then the indicator is pushed to the Indicator Statistics Table for support data collection.

    Finally, the Supporting Data Collection Job picks up the indicator records from the Supporting Data Statistics Table, starts collecting supporting data for the indicators, and leverages both the default queue and additional custom queues for efficient processing.

    Note:
    Indicator result business rules are not executed during the indicator job run. However, the same business rules are used while completing the indicator task. The indicator business rules are moved to the indicator job for achieving better performance during the execution.
    Figure 1. Processing indicator jobs using additional queues
    Workflow illustrating the processing of indicator jobs using additional queues

    This architecture supports execution of a large number of indicators in significant time. The Supporting Data Collection Job introduced to collect supporting data improves the data handling process considerably. Moreover, the time taken to execute the data is considerably less.

    Note:
    The Supporting Data Collection Job assigns the batches of indicator records to the default queue initially for supporting data collection. Depending on the availability of the batch processing queue and supporting data queue, the scheduled job assigns the subsequent batches of indicator records to these queues in a round-robin fashion, that is, only if these queues are free to process them.

    Data model changes

    The Sample collection type field added in the Indicator template form, has options either Count or Percentage. The default value is Count. If you select Percentage, you can provide the percentage value to collect the supporting data.

    The Due date duration (days) field is added for manual indicator in the Indicator template and Indicator forms to capture the indicator task due date. Based on this due date, reminder emails are sent to the indicator task owners.

    A new field introduced in the indicator supporting data table, which is of type JSON, helps in efficient data management.