Skip to content

Manage runtimes

Definition

The runtime is the sub-system of NL Flow in which workflows are published and executed. It is made of dedicated software services plus the software services that make up any published workflow.

NL Flow always includes an embedded runtime, which can be enough for most use cases, but additional runtimes can be installed separately to exploit otherwise unused computing power or to have distinct, isolated environments that increase fault tolerance and hence availability.
Separate runtimes, when not considering the workflows they host, have a relatively tiny footprint: the don't have a Web UI or a backoffice API, they only provide the software required to instantiate and run workflows. This means that a runtime doesn't allow designing workflows and all the other management operations, it can only host published workflows and allow using them via their API.

The installation procedure of a separate runtime is not covered in this manual, what this section covers instead is managing runtime items, that is informative records that represent actual runtimes. NL Flow users know about runtimes through their corresponding runtime items and use those items as a medium to publish, interactivel, publishing or unpublishing workflows inside runtimes.
You manage runtime items with the Runtimes view of the dashboard, in the following articles you will find how to do it.
Once a runtime item is created with the NL Flow UI, its connection token must be used during the actual runtime installation. Thanks to the conncetion token, the runtime "knows" how to communicate with NL Flow, which in turn allows NL Flow users to interact with the runtime through its representative item.

Mono-directional communication

It is always the runtime that connects to NL Flow and never vice versa.
A healthy runtime connects briefly and repeatedly to NL Flow to:

  1. Leave up-to-date information about its situation and capabilities, information with which NL Flow refreshes the corresponding runtime item.
  2. Pick up any pending orders for testing, publishing or unpublishing workflows.

When a runtime does not connect regularly to NL Flow, it does not give news about itself and is not receptive to requests for testing, publishing and unpublishing: it is possible that its workflows are active and usable, but it cannot be monitored and managed with NL Flow. This can be a symptom of issues or it can be the desired behavior when connecting the runtime to NL Flow is forbidden for security reasons. In such cases workflows can be still designed with NL Flow, but they must be exported together with associated API keys to special files then imported in the runtime with procedures that are not documented in this manual.