Skip to content

CH-302 feat: Add optional async workflow submission timeout - #897

Closed
afonsobspinto wants to merge 2 commits into
developfrom
codex/NGLASS-2330-workflow-timeout
Closed

afonsobspinto wants to merge 2 commits into
developfrom
codex/NGLASS-2330-workflow-timeout

Conversation

@afonsobspinto

@afonsobspinto afonsobspinto commented Nov 9, 2026 •

Copy link
Copy Markdown
Member

CH-302

Problem

AsyncOperation.execute() waits for Argo to acknowledge workflow creation. A stalled Argo response can leave the calling API request waiting indefinitely and keep any database row lock held by the caller. A configurable timeout lets callers limit that wait through the Cloud Harness API.

Change

Add an optional request_timeout to argo_service.submit_workflow(). AsyncOperation.execute() and ContainerizedOperation.submit() forward submission options to that service.

workflow = operation.execute(request_timeout=(2, 10))

The Argo SDK accepts a timeout in seconds or a (connect, read) tuple for the HTTP create request. Cloud Harness closes the HTTP client on success or failure, propagates submission errors, and makes one submission attempt per call. Argo may accept a workflow before the response times out, so callers should check whether it was created before retrying.

Validation

  • The original commits passed common-library, model, deployment CLI, and Argo component CI, plus lint and CodeQL.
  • 54 SDK and workflow tests passed, covering legacy calls, numeric and tuple timeouts, the returned Workflow wrapper, one POST per call, and client cleanup.
  • A regression test with a stalled local HTTP server verified that execute() times out after one CREATE attempt and allows the caller to reconcile the outcome.

Superseded by #899.

@afonsobspinto
afonsobspinto marked this pull request as ready for review November 9, 2026 19:50
@afonsobspinto
afonsobspinto marked this pull request as draft November 11, 2026 11:54
@afonsobspinto afonsobspinto changed the title NGLASS-2330 feat: Add optional async workflow submission timeout CH-302 feat: Add optional async workflow submission timeout Nov 11, 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.

1 participant