Azure / Azure/azure-functions-durable-python
Add call_activity_with_retry to DurableOrchestrationContext class
- Dominant language
- Python
- Stars
- 157
- Forks
- 70
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 2
Description
💡 **Feature description**
The `DurableOrchestrationContext` class has both a `call_activity_with_retry` method and a `call_sub_orchestrator_with_retry` method. Often times the call_http method fails for unknown and external reasons. Adding a `call_http` method that includes an option to retry a specified number of times would go a long way to improve the reliability of durable orchestrations. Adding an exponential backoff would be a nice plus.
💭 **Describe alternatives you've considered**
The obvious alternative is to wrap your API call into an activity function and use the `call_activity_with_retry` method. Creating new activity functions for each API call tends to bloat projects though. The v2 programming model may address this concern though - I'm still stuck on the v1 programming model for now.
Contributor guide
Research direction
Start by inspecting the DurableOrchestrationContext class and its existing call_activity_with_retry and call_sub_orchestrator_with_retry methods. Compare their behavior with call_http and define what a specified retry count should mean; completion should provide retrying HTTP calls, with exponential backoff as an optional enhancement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100