Rate Limiter¶
The Rate Limiter block controls the execution frequency of a branch within a Workflow by enforcing a cooldown period. It ensures that the connected steps do not run more frequently than a specified interval, helping to manage resource usage and prevent over-execution.
Block usage¶
Rate Limiter is useful when you have two blocks that are directly connected, as shown below:
--- input_a --> ┌───────────┐ ┌───────────┐ --- input_b --> │ step_1 │ --> output_a --> │ step_2 │ --- input_c --> └───────────┘ └───────────┘
If you want to throttle the Step 2 execution rate - you should apply rate limiter in between:
-
keep the existing blocks configuration as is (do not change connections)
-
set
depends_on
reference of Rate Limiter intooutput_a
-
set
next_steps
reference to be a list referring to[$steps.step_2]
-
adjust
cooldown_seconds
to specify what is the number of seconds that must be awaited before next time whenstep_2
is fired
Cooldown limitations
Current implementation of cooldown is limited to video processing - using this block in context of a
Workflow that is run behind HTTP service (Roboflow Hosted API, Dedicated Deployment or self-hosted
inference
server) will have no effect for processing HTTP requests.
Type identifier¶
Use the following identifier in step "type"
field: roboflow_core/rate_limiter@v1
to add the block as
as step in your workflow.
Properties¶
Name | Type | Description | Refs |
---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
cooldown_seconds |
float |
The minimum number of seconds between allowed executions.. | ❌ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow
runtime. See Bindings for more info.
Available Connections¶
Check what blocks you can connect to Rate Limiter
in version v1
.
- inputs:
Multi-Label Classification Model
,Line Counter
,Reference Path Visualization
,Data Aggregator
,OpenAI
,Single-Label Classification Model
,LMM For Classification
,OCR Model
,Roboflow Dataset Upload
,Stability AI Inpainting
,Absolute Static Crop
,Trace Visualization
,Path Deviation
,Byte Tracker
,Halo Visualization
,Instance Segmentation Model
,SIFT
,SIFT Comparison
,Email Notification
,Anthropic Claude
,Pixelate Visualization
,Path Deviation
,Classification Label Visualization
,Mask Visualization
,Background Color Visualization
,Crop Visualization
,Relative Static Crop
,VLM as Classifier
,Google Gemini
,Image Contours
,JSON Parser
,Detections Filter
,Gaze Detection
,Byte Tracker
,Image Threshold
,Roboflow Custom Metadata
,Cache Set
,Keypoint Detection Model
,Multi-Label Classification Model
,YOLO-World Model
,Template Matching
,Byte Tracker
,Instance Segmentation Model
,Distance Measurement
,Florence-2 Model
,CogVLM
,LMM
,Size Measurement
,Stitch OCR Detections
,Object Detection Model
,Roboflow Dataset Upload
,Camera Focus
,Identify Changes
,Continue If
,Keypoint Visualization
,Label Visualization
,Cache Get
,Polygon Zone Visualization
,Model Monitoring Inference Aggregator
,Pixel Color Count
,Dynamic Zone
,Object Detection Model
,Triangle Visualization
,Local File Sink
,Barcode Detection
,Single-Label Classification Model
,Clip Comparison
,Ellipse Visualization
,Detections Stitch
,Identify Outliers
,First Non Empty Or Default
,Detections Classes Replacement
,Slack Notification
,Clip Comparison
,Image Blur
,Twilio SMS Notification
,Detections Transformation
,Dot Visualization
,Model Comparison Visualization
,VLM as Detector
,SIFT Comparison
,Dynamic Crop
,Rate Limiter
,Cosine Similarity
,Environment Secrets Store
,Property Definition
,VLM as Classifier
,Image Slicer
,Perspective Correction
,Line Counter Visualization
,Grid Visualization
,Detections Consensus
,Time in Zone
,Webhook Sink
,Google Vision OCR
,Buffer
,Image Convert Grayscale
,Time in Zone
,Stitch Images
,Blur Visualization
,Bounding Rectangle
,Florence-2 Model
,CSV Formatter
,Keypoint Detection Model
,Color Visualization
,Delta Filter
,Image Preprocessing
,Dominant Color
,QR Code Detection
,CLIP Embedding Model
,Expression
,Dimension Collapse
,VLM as Detector
,Polygon Visualization
,Detections Stabilizer
,Segment Anything 2 Model
,Detection Offset
,OpenAI
,Circle Visualization
,Line Counter
,Bounding Box Visualization
,Corner Visualization
- outputs: None
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Rate Limiter
in version v1
has.
Bindings
-
input
depends_on
(*
): Reference to any output of the the step which immediately preceeds this branch..next_steps
(step): Reference to steps which shall be executed if rate limit allows..video_reference_image
(image
): Reference to a video frame to use for timestamp generation (if running faster than realtime on recorded video)..
-
output
Example JSON definition of step Rate Limiter
in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/rate_limiter@v1",
"cooldown_seconds": 1.0,
"depends_on": "$steps.model",
"next_steps": [
"$steps.upload"
],
"video_reference_image": "$inputs.image"
}