Flow Limit

Flow limit is useful when the engine needs to be throttled, as the FLOGO_ RUNNER_QUEUE_SIZE engine variable 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 an 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 reaches FLOGO_ RUNNER_QUEUE_SIZE limit then 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.