argoproj / argoproj/argo-workflows
HTTP Template: support periodic status verification
- Dominant language
- Go
- Stars
- 17k
- Forks
- 3.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 138
Description
# Summary
HTTP Template support periodic status verification
## Use Cases
In our scenario, some time-consuming requests will be executed asynchronously which usually involves the following two steps:
1. Execution request: HTTP Server will execute it asynchronously and return the asynchronous task id to the client.
2. Status check request: HTTP Server will get and return the task status to the client
However, HTTP Template does not support periodic status verification now, so there will be a lot of recursive verification in workflow which make it very complicated.
HTTP Template is executed in agent pod with the executeTemplate function which contains a return value `requeue ` . If `requeue` > 0, TaskWorker will retry the task, but executeHTTPTemplate has not use the `requeue` value(always return 0).
In my opinion,HTTP Template can support a new condition like successCondition, and if the condition is not met, return `requeue` > 0.
---
**Message from the maintainers**:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.
Contributor guide
Research direction
Start by locating executeTemplate, executeHTTPTemplate, and TaskWorker in the agent pod implementation, then trace how the requeue return value is handled. Define how a new status condition should be configured and verified, and confirm that unmet conditions cause periodic retries while successful conditions complete the workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100