Clarify Schedule overlap and buffering behavior - #5288
Conversation
|
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| When you're ready to resume the automation, unpause the Workflow Execution and then unpause the Schedule. | ||
| If Actions were skipped while the Workflow Execution was Paused, use [Backfill](#backfill) to run them intentionally with the Overlap Policy you want. | ||
|
|
||
| #### Catchup Window |
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'Catchup Window' should use sentence-style capitalization.
📖 Docs PR preview links |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3e75beff08
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| Manual triggers and Backfills are not restricted by the Catchup Window. | ||
| (But you can always [Backfill](#backfill).) | ||
|
|
||
| #### Common pitfalls |
There was a problem hiding this comment.
Split the pitfalls section into a focused page
Move this roughly 90-line, six-heading block into a dedicated Schedule overlap page and link to it here. The change increases this page from 16 to 22 headings, well beyond the repository's target of fewer than 15, while some of its missed-Action diagnosis also overlaps docs/troubleshooting/schedule-missed-actions.mdx; splitting it would keep the Schedule overview navigable and give the policy details a focused home.
AGENTS.md reference: AGENTS.md:L246-L252
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
yeah, this probably worth it's own page
| The effective limit can vary by deployment and Scheduler implementation. | ||
| Actions can also expire outside the Catchup Window, so `BufferAll` should not be treated as an unlimited durable queue. | ||
|
|
||
| For example, with a five-minute Catchup Window: |
There was a problem hiding this comment.
I don't think the example matched the description above. seems like you'd want to show something that does not include a short catchup window.
buffer all is probably the best overlap policy to use when demonstrating the behavior of skip due to catchup window and overlap policy.
| Manual triggers and Backfills are not restricted by the Catchup Window. | ||
| (But you can always [Backfill](#backfill).) | ||
|
|
||
| #### Common pitfalls |
There was a problem hiding this comment.
could to add jitter as well?
What does this PR do?
Clarifies how Schedule Overlap Policies and the Catchup Window affect whether scheduled Actions start.
This update:
Skip,BufferOne,BufferAll, andCancelOtherAllowAllTerminateOtheravoids waiting for Workflow cooperation but still has Service-processing latencyNotes to reviewers
The behavioral claims were checked against both the Workflow-backed and CHASM Scheduler implementations in
temporalio/temporal.Commands run:
go test -tags test_dep ./service/worker/scheduler ./chasm/lib/scheduler/...go test -tags test_dep ./tests -run '^TestSchedule(CHASM|V1)/(TestAllowAllDescribeContract|TestBufferSizeReportedWhenBuffered|TestBufferOneDeferredFiresAfterCompletion|TestBufferOverrunDropsActions)$' -count=1 -vgo test -tags test_dep ./tests -run '^(TestScheduleV1WorkflowPauseInteraction|TestScheduleCHASMWorkflowPauseInteraction)$' -count=1git diff --checkAll Scheduler and functional tests passed. The full Workflow Pause interaction matrix covers all six Overlap Policies on both Scheduler implementations, including recovery after unpausing.
The internal buffer limit is described as approximately 1,000 because 1,000 is the current default in both implementations, but it is an implementation detail and can vary by deployment and Scheduler implementation.