Resource Locking
Prevents multiple workflows from running simultaneously on the same issue, or PR.
Priority Queuing
Controls execution order when multiple workflows are queued for the same resource.
Event Deduplication
Merges rapid-fire events into single workflow executions with the latest state.
Queue Processing
Queued workflows run by priority level, and workflows with the same priority run first-come, first-served.
How Workflow Execution Works
When an event occurs (like opening an issue or creating a PR), Overcut follows this execution pipeline:Resource Locking
Each matching workflow is queued for the specific resource (issue or PR) using a lock key.
Event Deduplication
If a workflow is already queued for the same resource, events are merged with the latest state.
Priority Ordering
Queued workflows are ordered by priority (1-100 scale), then by queue time (FIFO).
Resource Locking
Lock Key Structure
Overcut uses lock keys to ensure only one workflow runs per resource at a time:- Issues:
owner/repo:issue:123 - Pull Requests:
owner/repo:pr:456
Scheduled Workflow
When using “Per-Repository” execution mode, Overcut starts an execution for each repository selected. For Scheduled Workflows, Overcut automatically skips a new run if the previous one is still in progress for the same lock key (issue, PR, or repository). This guarantees that long-running maintenance jobs don’t pile up and overload your workers.Why Locking Matters
Without resource locking, multiple workflows could:- Make conflicting changes to the same issue
- Create duplicate comments or labels
- Waste resources on redundant operations
- Cause race conditions and unpredictable behavior
Example: Issue Workflow Locking
Priority Queuing
Priority Scale (1-100)
Control workflow execution order using numeric priority:- 1 = Highest Priority (executes first)
- 5 = Default Priority (normal workflows)
- 100 = Lowest Priority (executes last)
Lower numbers execute first. Think of priority as “position in line” - priority 1 is first in line.
Priority Guidelines
- Use the full 1-100 range for fine-grained control
- Create your own prioritization scheme, for example:
- 1-20: Critical security scans, system failures
- 21-40: Code reviews, bug fixes, urgent issues
- 41-60: Normal automation, standard workflows
- 61-80: Documentation updates, metrics collection
- 81-100: Background analytics, cleanup tasks
Setting Priority in UI
Priority in Action
Event Deduplication
How Deduplication Works
When multiple events occur rapidly for the same resource and workflow:- First Event: Creates queue entry
- Subsequent Events: Merge with existing queue entry
- Final State: Workflow executes with the latest merged state
Benefits
- Efficiency: Reduces redundant executions by 60-80%
- Accuracy: Workflows see the final state, not intermediate changes
- Resource Savings: Less compute, storage, and API usage
- Better UX: Fewer duplicate comments or actions
Trigger Delays and Execution Control
How Delays Interact with Queuing
Trigger delays work with the execution control system:- Delay Applied: When trigger first fires, workflow queues with future
readyAttime - Event Merging: Additional events during delay window merge with queued workflow
- Priority Respected: When delay expires, workflow processes according to priority
- Lock Acquired: Workflow executes when it reaches front of priority queue
Workspace-level Concurrency Limits
Overcut enforces a per-workspace limit on concurrent workflow executions based on your subscription plan. This ensures that high demand in one workspace does not impact the rest of your organization. Use this guidance to manage capacity:- Monitor your usage: Track running workflows in the workspace overview to understand current utilization.
- Consider workflow duration: Long-running workflows consume execution slots longer, reducing availability for other triggers.
- Plan for peak times: Distribute high-priority workflows across time or adjust trigger frequency when approaching your limit.
On Hold Release Cycle
When a workspace reaches its concurrency limit, new workflow runs enter an On Hold state until capacity becomes available.What you will see
- The run timeline shows an On Hold entry with a message indicating that workspace capacity has been reached.
- Your workflow’s trigger payload is preserved, so nothing is lost and no manual re-triggering is needed.
How release works
- When a running execution completes, the oldest On Hold run is automatically released (first-in, first-out within the workspace).
- Released runs resume automatically and progress through normal execution without any user interaction required.
Related Documentation
- Triggers: Understanding when workflows start
- Advanced Trigger Execution: Deep dive into multiple triggers, event merging, and priority behavior
- Workflow Metadata: Configure timeout, priority, default model, and status update settings
- Building Blocks: Core workflow components
- Import & Export: Managing workflow definitions
- Overcut Playbooks: Ready-to-use workflow templates with priority settings