EP - Event Processor Tab

The Event Processor tab on an event processor contains information about the description, configuration, and current background process log.

The Event Processor tab is part of the event processor editor. Information about the event processor editor can be found in the Maintaining an Event Processor topic in the System Setup documentation.

Description Section

The Description section includes basic information to identify the event processor. The name can be edited. This data is originally set up in the event processor wizard, refer to EP - Identify Event Processor topic.

For information on the processor status, refer to Running an Event Processor topic.

  • ID - Read only, established during the event processor creation, using the Event Processor Wizard and cannot be edited.

  • Name - Established during the event processor creation, using the Event Processor Wizard and appears as the processor description when viewing background processes.

  • Type - Read only, the object type for the event processor in this example is 'Event Processor'. The object type for your instance of STEP may be different, because the event processor object type is configured during the one-time setup tasks described in Initial Setup for Event Processors topic.

  • Last edited by - Read only, displays the Date, Time, and User name responsible for the last edit.

  • Enabled - Displays the current event processor state. A processor must be enabled for it to be used in STEP.

    • When enabled the parameter displays 'Yes', the Processor Status parameter automatically displays 'Running'.

    • When disabled the parameter displays 'No', the Processor Status parameter automatically displays 'Stopped'.

    For more information about event processor states and how to enable / disable, refer to the Running an Event Processor topic.

  • Processor Status - Displays the event processor's current state.

    • Stopped: the event processor is not enabled.

    • Running: the event processor is enabled and running as intended.

    • Failed (retrying): the event processor has failed due to an error. Attempts to auto-correct are run every minute for two hours, then every ten minutes for one month. If after that time it has not been fixed, it goes to the 'Failed' state.

    • Failed: the event processor has failed due to an error and is no longer attempting to auto-correct.

  • Processing Comment - If the event processor receives the FailAndRetryException, it goes into the ‘Failed (retrying)’ state and the Processing Comment displays a message. Displays the first and last failures, the number of retries performed, and the next scheduled retry.

Configuration Section

Details for each of the Configuration section parameters are below. To edit any of the parameters within the 'Configuration' section, click the Edit Configuration link, located at the bottom of the list, and the Event Processor Wizard displays. The navigation buttons in the wizard can be used to access the other steps, if necessary.

Although the Configuration section does not include access to the Error Handling and Reporting setting, it is available in the EP wizard via the 'Edit Configuration' link. For more information, refer to the EP - Error Handling and Reporting topic.

  • User Running Event Processor Plugin - The privileges of the user selected must include the objects being processed since the selected user's privileges are applied to the event processor. Common setup is to create a separate user for each event processor to allow tracking of actions taken by each process.

  • Number of Events to Batch - Specify the batch size. Allows multiple events to be transmitted in a single batch. Setting this number too low can result in slower processing as more background processes are required.

  • Days to Retain Events - Common setup is to leave this at 0 since this option is not valid for an event processor; it is available for reprocessing events via an OIEP. Specify the number of days to keep events once processed.

  • Priority - When the recommended 'One Queue' priority-based BGP execution mechanism is configured, waiting BGPs are prioritized for execution based on the priority of the BGP and the created time. Refer to the 'Priority Mechanism' section of the BGP One Queue topic in the System Setup documentation.

    The 'Queue for event processor' parameter is not available.

  • Legacy Queue for Event Processor - This legacy option is not available when the recommended One Queue, priority-based background process (BGP) execution mechanism is configured. (Refer to the BGP One Queue topic in the System Setup documentation.)

    • During the create event processor wizard, the name of a queue is entered determining where to process data from the event processor.

    • 'EVPROC' is the default, however entering the name of a new queue results in the new queue automatically being created upon completion of the wizard.

  • Maximum Number of Old Processes in Hours - Indicates the number of ended processes the system keeps. Succeeded and ended processes are deleted when the number exceeds the specified limit. The oldest processes are deleted first. Setting this number too high may eventually degrade performance.

  • Maximum Age of Old Processes in Hours - Specify the maximum age of ended processes that the system keeps. Ended processes are deleted when the maximum age is exceeded. Setting this number too high may eventually degrade performance.

  • Limit of Lines in Execution Report - Specify the maximum number of lines to store from the execution report in the log. This setting impacts storage usage.

  • Processor - Displays the processing plugin currently selected for use by the event processor. For more information, refer to the Processing Plugins topic.

  • Schedule - Indicates the current schedule for running the event processor. 'Not scheduled' indicates the event processor is not currently scheduled to run automatically.

  • Queue Status - By default, when a new event processor is created, events are discarded. Select Read Events if you are ready for the processor to apply the actions based on the events processed.

    Use the event processor editor to update the Queue Status as follows:

    • In System Setup, select your event processor, click the Event Processor tab.

    • Open the Configuration section.

    • In Queue Status, select Read Events if you are ready for the processor to apply the actions based on the events processed.

      • Read Events allows the processor to register events as they occur, based on the event processor configuration and event triggering definitions.

      • Discard Events ignores generated events that meet the configuration and event triggering definitions.

        Important: If you are ready for the processor to apply the actions based on the events processed, make sure the event processor Status parameter is also set to Enabled, otherwise the event processor does not function. For more information refer to the 'Enable Event Processor' section of the Running an Event Processor topic.

  • Unread events (approximated) - Displays the 'Click to estimate ...' button. Clicking the 'Click to estimate ...' button estimates the number of unread events and the button is replaced with the results and a date / time stamp. Refreshing the editor displays the 'Click to estimate ...' button again.

  • Event Mode - select an option for the event queue:

    Standard mode is the default for new configurations. Standard mode adds all events to a given queue for an object without further processing, which can include more events than necessary, resulting in duplication of processing with the same outcome, but it may process events more quickly than Deduplicate mode. Standard mode allows for backward compatibility and is recommended for these event queue configuration scenarios:

    • unique object-event type combinations (a single derived event or republish event instead of multiple event triggers on attributes and references, etc.)

    • business rules that complete quickly

    • typically larger queue sizes (> 100k events)

    • large batch sizes (approximately 10k events)

    In these scenarios, the Standard mode performs better than the Deduplicate mode since Deduplicate includes the overhead required to remove redundant events.

    Deduplicate mode removes events from a queue for Object-Event Type combinations that already exist on the queue within the same batch (meaning the Batch Size must be larger than 1). The Event Type being deduplicated is not the create / modify event type as displayed in the Current Event Batch dialog, but instead, can be observed by hovering over the create / modify entries in that dialog. Refer to the Event-Based Event Processor Queued Events topic for information about the 'Current Event Batch' dialog.

    Deduplicate reduces redundant processing which saves time and improves performance, there is overhead required to remove redundant events in the following scenarios, so it may not run as fast as Standard mode due to analysis and removal of events when each batch is processed.

    Note: Events are pruned from the queue based on the node and the event type.

    Deduplicate mode is recommended for these event queue configuration scenarios:

    • high duplication of events waiting in the queue for processing

    • complex business rules that take a significant amount of time to complete for a batch

    • downstream systems that have trouble keeping up with message processing

    • typically smaller queue sizes (< 10k events)

    • small batch sizes (< 10 events)

    For more information, refer to the Event Mode: Deduplicate Example section below.

    In the Performance Analysis Tool Activity tree (defined in the Performance Analysis documentation), logging has been added for the time spent deduplicating events when an event processor (EP) is configured with the Deduplicate Event Mode. Using this information, customers can make data-driven decisions regarding which is the best mode to use (Deduplicate or Standard), as the decision is highly dependent on the underlying use case and overall expected throughput. In some cases, the time it takes to complete the deduplication of events outweighs the potential performance gains in processing, while in other cases the processing itself is the bottleneck. Therefore, being able to compare the time spent deduplicating against the overall run time supports administrators in selecting the setting that will lead to the most optimal performance for their scenario.

    Note: When a high volume of unprocessed events is in queue (> 500k), possibly from a temporary stoppage where the events cannot be discarded, processing speed decreases due to the overhead from removing redundant events. Consider using Standard mode temporarily until the queue has a more manageable backlog to analyze and remove events.

    If the queue is unlikely to have multiple similar events for objects, the typical volume is low, the business rules are simple (complete very quickly), and/or the batch sizes are large, then the Deduplicate mode overhead from attempting to remove redundant events may result in slower execution than that of Standard mode.

Current Background Process Log Section

The Current Background Process Log section is blank until the event processor state is enabled. Once enabled, information about when the event processor is expected to run and/or what occurred when the processor ran displays.

Using the example below, line 1 indicates the event processor was enabled, but not scheduled to run. Line 2 indicates the event processor is scheduled, and the subsequent lines indicate the processor is running per the Schedule parameter settings of 'Start every minute'.

  • Navigation - After the first entry, the Current Background Process Log displays the following navigation buttons:

    Once a log collects over 100 lines, clicking a button invokes the following actions:

    navigates back one page.

    navigates to the beginning of the log.

    navigates forward one page.

    navigates to the end of the log.

  • Save Report - The Current Background Process Log can be saved as an 'HTML Only' file type. To save an HTML Only version of the log, select the Save Report button, and the file explorer dialog for your system displays. Enter a name for the log report and click Save.

  • Truncate - The Current Background Process Log can be truncated. This can be useful when logs become cluttered or only specific information is needed.

    To truncate a log, select the Truncate button to display the Truncate execution report dialog with the following options:

    • Number of lines to retain - By default, the current number of log entries is displayed, meaning all are kept. Enter the number of most recent lines to keep from the end of the log, in order to only save the last 'X' number of lines. This works in conjunction with the 'Execution report entry types to delete' option below.

    • Execution report entry types to delete - The entry types that can be deleted are Error, Info, and Warning. By default, 'Info' is selected, meaning only Info lines are removed based on the lines to retain. Each entry type selected is deleted from the log after selecting OK

      After making the necessary selections, click OK and the event processor editor displays with the Current Background Process Log truncated.

Event Mode: Deduplicate Example

Consider a set of 10 products that are created and then each modified two times. This scenario generates three events for each product. There are a total of 30 events (10 create events and 20 modify events) as shown below.

The OIEP is configured to Deduplicate for the 'Event Mode' parameter with 10 for the 'Number of Events to Batch' parameter. The 30 events are already on the queue as shown in the 'Unread events (approximated)' parameter. Although this image is for an OIEP, the same Event Processor settings could be set for these properties on the Event Processor tab within the Configuration section.

While it may seem that three batches would be generated, the third batch is eliminated (deduplicated) since it would have included the same Object-Event Type combinations.