Flow Limit

Flow limit is useful when the engine needs to be throttled, as the engine variable FLOGO_ RUNNER_QUEUE_SIZE specifies the maximum number of events that can be started before pausing the process trigger. This ensures that the incoming requests do not overwhelm the engine performance and the CPU and memory is preserved.

If the number of incoming requests on the trigger exceeds the FLOGO_ RUNNER_QUEUE_SIZE limit, the engine pauses the trigger to get any new requests but continues running the existing ones. The engine resumes this trigger when all the requests currently under processing are finished.

And this Flow limit is not enforced by the engine unless the FLOGO_FLOW_CONTROL_EVENTS variable is set to true for an application as a user-defined Engine Variable on the Environment Variable tab of the Flogo Enterprise runtime environment.

Environment variables associated with Flow Limit

Environment Variable Name Default Values Description
FLOGO_RUNNER_QUEUE_SIZE 50 The maximum number of events from all triggers that can be queued by the app engine.
FLOGO_RUNNER_WORKERS 5 The maximum number of concurrent events that can be run by the app engine from the queue.
FLOGO_FLOW_CONTROL_EVENTS

N/A

If you set FLOGO_FLOW_CONTROL_EVENTS as true, the Flow limit functionality is enabled, whenever the incoming requests to trigger reach FLOGO_ RUNNER_QUEUE_SIZE limit the trigger is paused. When all the requests currently under processing are finished, the trigger is resumed again.

Note: All the connectors supporting the Flow limit functionality are mentioned in their respective user guides.