Rate Limitter

Rate Limitter

On this page

Overview

The Rate Limiter Snap is a Flow type Snap designed to control the rate of document processing in a SnapLogic pipeline. It enforces a limit on the number of documents processed within a specified time interval, helping to control throughput and prevent overloading downstream systems.

Snap Type

  • Flow

Prerequisites

None.

Limitations and Known Issues

None.

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

 

  • Min: 1

  • Max: 1

  • Kafka Consumer

  • Mapper

Accepts a stream of documents.

Output

Document

  • Min: 1

  • Max: 1

  • HTTP Client

  • Braze Export

Emits the incoming document to output respecting the configured rate limits set for the Snap

Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab:

  • Stop Pipeline Execution: Stops the current Pipeline execution if the Snap encounters an error.

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the remaining records.

  • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap Settings

  • Asterisk ( * ): Indicates a mandatory field.

  • Suggestion icon (): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon ( ): Indicates the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon ( ): Indicates that you can add fields in the field set.

  • Remove icon ( ): Indicates that you can remove fields from the field set.

  • The upload icon ( ): Indicates that you can upload files.

Field Name

Field Type

Description

Field Name

Field Type

Description

Label*

 

Default ValueRate Limitter
ExampleRate Limitter

String

The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline.

 

Interval(Seconds)*

Default Value1
Example: 60

Integer

The length of the time window, in seconds, during which the document limit applies. Defines the interval over which the limit is enforced.

Limit*

Default Value1000
Example: 10000

Integer

The maximum number of documents allowed to be processed within each interval. Once this limit is reached, further documents are delayed until the next interval.

Snap Execution

 

Default ValueExecute Only
Example: Validate & Execute

Dropdown list

Select one of the following three modes in which the Snap executes:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Behaviour

  • The Snap processes documents from its input and ensures that no more than the specified number of documents (Limit) pass through in a given Interval.

  • If the number of documents exceeds the Limit within the Interval, the Snap will delay further processing until the next interval begins.

  • This Snap is useful for controlling API rate limits, downstream system load, or managing throughput in time-sensitive pipelines.

Typical Use Cases

  • Throttling API calls to stay within provider rate limits.

  • Controlling message flow to avoid overwhelming external databases or services.

  • Ensuring compliance with SLAs related to processing rates.

Error Handling

  • If either property is not set or set to invalid values, the Snap throws a configuration error on pipeline validation.