inngest-flow-control

Configure Inngest flow control mechanisms for TypeScript background functions.

Updated Jul 28, 2026
One-click install
npx skills add https://github.com/dhanushreddy291/durable-workflow-on-neon-functions --skill inngest-flow-control-dhanushreddy291
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: inngest-flow-control
Source: https://github.com/dhanushreddy291/durable-workflow-on-neon-functions/tree/main/.agents/skills/inngest-flow-control
Command: npx skills add https://github.com/dhanushreddy291/durable-workflow-on-neon-functions --skill inngest-flow-control-dhanushreddy291

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Background workflows often overwhelm external APIs with rate limits, duplicate work from event bursts, or create race conditions in multi-tenant systems. This Skill provides prescriptive guidance for applying Inngest flow control options so function runs stay within resource and API constraints. ## Core Features & Use Cases - Concurrency and Throttling: Limit simultaneous step execution or function starts per key, including account-level shared quotas for APIs like OpenAI. - Debounce, Singleton, and Rate Limiting: Collapse rapid event bursts into one run, ensure only one instance runs per key, or discard excessive duplicate events. - Batching and Priority: Group events into batches for bulk processing and let high-value runs jump the queue. - Use Case: A SaaS app syncing CRM data can throttle calls to 10 per minute per customer, debounce document saves after editing stops, and give VIP orders priority in the queue. ## Quick Start Ask the AI to add Inngest flow control to your function, for example to throttle OpenAI calls to 60 per minute and debounce document save events by user.

Frequently Asked Questions about inngest-flow-control

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I limit concurrency in an Inngest function?▼

Set the concurrency option in inngest.createFunction with a numeric limit, or use an array with a key like event.data.user_id to apply the limit per tenant. Concurrency limits executing steps, not function runs waiting on step.sleep.

What is the difference between throttling and rate limiting in Inngest?▼

Throttling delays function starts to spread them over a period, while rate limiting discards events that exceed the limit. Use throttling to respect API quotas and rate limiting to skip duplicate or abusive events.

How do I debounce events in Inngest?▼

Add a debounce option with a period and a key such as event.data.document_id. Inngest waits for events to stop arriving, then runs the function once using the last event, with an optional timeout to force execution.

Can I combine multiple flow control options in one Inngest function?▼

Yes, you can combine options like throttle, concurrency, and priority in a single function definition. A common pattern pairs global throttling for API limits with per-user concurrency for fairness and priority for premium users.

Does Inngest flow control work with Python or Go?▼

The core flow control concepts apply across languages, but this guidance is written for TypeScript. For Python or Go syntax, refer to the official Inngest documentation for language-specific configuration.