Overview of Ultra Tasks

Ultra Tasks define the configuration to run a pipeline that continuously processes documents on a Snaplex.

Introduction

Ultra Tasks define the configuration to run a pipeline that can process incoming documents on a Snaplex. When you activate an Ultra Task, the associated Snaplex starts one or more pipeline instances that continuously process documents from a Feedmaster or another message queue. If you modify assets related to an active Ultra Task, in some cases, the Snaplex restarts the pipeline instances automatically.

For high availability and disaster recovery, you can run a pipeline in multiple regions. To do this, create multiple Ultra Tasks for the same pipeline using the same alias. Assign each Ultra Task to a Snaplex in a different region. If a pipeline in one region fails, a Snaplex in another region can run the Ultra Task by invoking the Ultra Task with the same alias.

You can tune Ultra Task performance by specifying the number of pipeline instances to run and the maximum number of documents that one instance should process at a time. Also, you can specify how many times a pipeline can fail before the Snaplex disables the Ultra Task. Configuration Options describes the fields that control these behaviors: Instances (per Snaplex), Max In-Flight, and Maximum Failures.

Instances per Snaplex

When you create an Ultra Task, you have the option to load balance processing across nodes. The number of instances controls how many pipelines are started to process the Ultra requests. Since the pipelines are automatically started and are always running, the number of pipelines needs to be balanced. Having too many instances uses up slots, resulting in extra load on the node. Having too few could result in delays for requests if the request volume is higher than running instances.

Manual

As a default option, this selection sets the number of pipeline instances to start, regardless of the number of JCC nodes. Use this setting in Ultra Tasks where the pipeline limits the number of concurrent calls from downstream systems.

For example: An Ultra Task calls a SOAP service and the service can process five API calls at one time => Set the number of instances to 5 for the Snaplex.

Instances per Node

This selection sets the number of pipeline instances per node. Use this setting when the request volume for the Ultra Task is consistently steady and there are no limits on the number of concurrent requests the downstream systems can handle. This setting does not guarantee 2 instances per node, but 8 nodes in total. The balancing mechanism is designed to distribute them evenly.

For example: Setting this to 2 runs two pipeline instances on each JCC node. Setting this to four runs eight instances start. This setting suits both types of pipelines, providing redundancy through scaling.

AutoScaling

Scale the number of pipeline instances based on the number of requests being processed. This option can be used when the request rate is expected to be variable, with low and peak volumes being significantly different.

Always-on pipelines do not support AutoScaling because they do not use a FeedMaster.