Skip to content

Document new Nexus Operation timeouts#4242

Open
Quinn-With-Two-Ns wants to merge 1 commit intomainfrom
NEXUS-30
Open

Document new Nexus Operation timeouts#4242
Quinn-With-Two-Ns wants to merge 1 commit intomainfrom
NEXUS-30

Conversation

@Quinn-With-Two-Ns
Copy link
Contributor

@Quinn-With-Two-Ns Quinn-With-Two-Ns commented Feb 26, 2026

What does this PR do?

Document new Nexus Operation timeouts schedule-to-start and start-to-close. We also didn't have any docs I could find for schedule-to-close so I added that. I think it would be good to show how to set these on a PR SDK basis as well, I was planning to put that in another PR.

Notes to reviewers

┆Attachments: EDU-5951 Document new Nexus Operation timeouts

@Quinn-With-Two-Ns Quinn-With-Two-Ns requested a review from a team as a code owner February 26, 2026 00:25
@vercel
Copy link

vercel bot commented Feb 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
temporal-documentation Ready Ready Preview, Comment Feb 26, 2026 0:25am

Request Review

@github-actions
Copy link
Contributor

📖 Docs PR preview links

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ebd51b89d5

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


Once the caller Workflow schedules an Operation with the caller's Temporal Service, the caller's Nexus Machinery keeps trying to start the Operation.
If a [retryable Nexus error](/references/failures#nexus-errors) is returned the Nexus Machinery will retry until the Nexus Operation's Start-to-Close-Timeout is exceeded.
If a [retryable Nexus error](/references/failures#nexus-errors) is returned the Nexus Machinery will retry until the Nexus Operation's [Schedule-to-Close timeout](#schedule-to-close-timeout) is exceeded.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Describe retries as ending at the earliest start-related timeout

This sentence says Nexus start retries continue until Schedule-to-Close, but the same page now documents Schedule-to-Start as the timeout for how long an operation may wait to be started (docs/encyclopedia/nexus-operations.mdx, line 218). In configurations where Schedule-to-Start is set lower than Schedule-to-Close (for example, no handler workers available), retries stop at Schedule-to-Start, so this wording gives readers the wrong timeout boundary for failure analysis and tuning.

Useful? React with 👍 / 👎.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would retry until the minimum of schedule to close and schedule to start.

Copy link
Contributor

@prasek prasek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, dropped a few suggestions

For asynchronous Operations, this timeout covers the full lifecycle: scheduling, starting, and completing.
For synchronous Operations, this timeout covers the time from scheduling to receiving the result.

In Temporal Cloud, the maximum Schedule-to-Close timeout is 60 days.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In Temporal Cloud, the maximum Schedule-to-Close timeout is 60 days.
In Temporal Cloud, the [maximum Schedule-to-Close timeout is 60 days](https://docs.temporal.io/cloud/limits#nexus-operation-duration-limits).

This is the overall timeout for the entire Operation.
The Nexus Machinery [automatically retries](#automatic-retries) failed requests internally until this timeout is exceeded, at which point the Operation fails with a [NexusOperationTimedOut](/references/events#nexusoperationtimedout) event.

For asynchronous Operations, this timeout covers the full lifecycle: scheduling, starting, and completing.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For asynchronous Operations, this timeout covers the full lifecycle: scheduling, starting, and completing.
This timeout covers the full [Nexus Operation lifecycle](https://docs.temporal.io/nexus/operations#operation-lifecycle). Asynchronous Operations are scheduled, started, and completed. Synchronous Operations don't have an intermediate started state because they complete as part of the start request.

@jsundai jsundai self-assigned this Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants