-
Notifications
You must be signed in to change notification settings - Fork 7
Document queue-paced scheduled runs #36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -15,7 +15,7 @@ steps: | |
| run: echo "Processing batch" | ||
| ``` | ||
|
|
||
| The scheduler places this DAG into the `batch` queue. The queue's `max_concurrency` (defined in `config.yaml`) determines how many DAGs in this queue can run at the same time. | ||
| The scheduler places this DAG into the `batch` queue. The queue's `max_concurrency` (defined in `config.yaml`) determines how many DAGs in this queue can run at the same time. Scheduled runs, catch-up runs, retries, and runs added with `dagu enqueue` all wait for a free slot in that queue. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win Qualify the catch-up queue statement.
🤖 Prompt for AI Agents |
||
|
|
||
| When a run is waiting in `queued`, the scheduler may attach a runtime condition that explains the latest observed reason it has not started yet, such as a queue concurrency limit or a distributed worker selection issue. See [Queued Runtime Conditions](/server-admin/queues#queued-runtime-conditions) for the exact reason names and messages. | ||
|
|
||
|
|
@@ -34,7 +34,7 @@ See [Base Configuration](/server-admin/base-config) for how base config merging | |
|
|
||
| ## Behavior Without a Queue | ||
|
|
||
| When a DAG does not set `queue` (and no base config default exists), it runs in a local queue named after the DAG itself. Local queues have a fixed concurrency of 1, meaning only one instance of that DAG runs at a time. | ||
| When a DAG does not set `queue` (and no base config default exists), it runs in a local queue named after the DAG itself. Local queues have a fixed concurrency of 1, meaning only one instance of that DAG runs at a time, and the scheduler starts its runs directly instead of enqueueing them. | ||
|
|
||
| ## Overriding at Enqueue Time | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Account for the base-config queue default.
A missing DAG-level
queuefield does not always select the local queue.base.yamlcan provide a default queue, as documented inwriting-workflows/queues.mdLines 22-31. Qualify this statement with “and no base-config default exists” or describe the effective queue.🤖 Prompt for AI Agents