Deploying Tasks from On-Premises Networks

Running an On-premises Pipeline from a URL

The Tasks Details page displays all available URLs to trigger a Pipeline. In addition to a Cloud URL, two sets of Secured (HTTPS) and Unsecured (HTTP) URLs are available for triggering the Pipeline to run on an on-premises network. The Snaplex URL refers to the Groundplex machine (a self-managed Snaplex) from which you send the request. Although the URL options are not tied to Snaplex type, these URLs depend on the user's ability to access those networks. For example, the Cloud URL is available to use from any computer with Internet access, whereas the Snaplex and Alternative URLs require network access to the Groundplex or to a load balancer:

By default, the Groundplex machine only accepts HTTP requests from the Loopback interface (127.0.0.1). To allow access from other machines, you must change the HTTP interface of the Groundplex configuration to listen on any IP address (0.0.0.0). This may also require additional network changes, such as opening up a firewall, so consult your network administrator for guidance. 

Two additional configurable URLs (Secure Alternative URL and Unsecured Alternative URL) appear on the Task Details page. Unlike the Snaplex URL, which always runs on the Snaplex defined in the Task, you are responsible for defining a High Availability architecture, and it is commonly done using a load balancer or the network's DNS. The Snaplex URL was introduced for users interested in setting up their Tasks to run in High Availability configurations.

When a Triggered Task is invoked through a Snaplex or Alternative URL, the Task is cached for subsequent executions. The cached Tasks are then used on subsequent triggers of the URL, reducing Task execution latency. Triggered Tasks expire from the cache after 4 days (96 hours).

Additional Setup for Multiple Groundplex Nodes

A Triggered Task can run on any of the nodes in your self-managed Snaplex. Because of internal load-balancing between nodes for Triggered Tasks, the node designated in the Snaplex URLs might not be the node that executes the Pipeline associated with that Task. Configure the Snaplex nodes to accept requests from the other nodes so that data can be streamed back to the client. 

You can also determine if Snaplex nodes are not communicating by clicking Dashboard > Health, selecting the Snaplex, and viewing the Alerts for each node. If communication issues exist, an alert such as Neighbor connectivity alert might appear.

Configure Triggered Tasks for High Availability with Snaplex URLs

The Snaplex URL triggers a Pipeline to run on any Snaplex, regardless of what is defined in the Task. The Snaplex URLs differ from the Alternative URLs because you can use them to trigger a Task to run on any Snaplex node, whereas the Snaplex URL always runs on the Snaplex that was specified when the Task was created.

A Triggered Task assigned to Snaplex A always runs on that Snaplex when triggered with the Snaplex URL. Therefore, even if triggered on a node on Snaplex B, the Task still runs on Snaplex A. However, if you use the Snaplex URL, then the Task runs on Snaplex A when triggered on Snaplex A and Snaplex B when triggered on Snaplex B.

For example, if a Task is configured to run on Snaplex A, then you can force it to run on Snaplex B by substituting the host name and port of a JCC node or FeedMaster in Snaplex B, in place of the one configured in the Snaplex URL. 

On the same screen, you can review the Task status to determine if you need to run a Triggered Task on another Snaplex. Furthermore, clicking on the Task detail displays a window with Pipeline statistics, parameters, and information such as path, node, and the user who ran the Pipeline.