Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Add HTTP-specific retry options to azure-functions-durable v2 call_http

Offen
#268 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
45/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
api, backend

Rechercherichtung

Beginne mit DurableOrchestrationContext.call_http und dem HTTP-Worker-Pfad in azure-functions-durable/azure/durable_functions/http/models.py und builtin.py. Verfolge die Serialisierung der Anfrage und den Polling-Orchestrator, bevor du die Semantik von .NET HttpRetryOptions vergleichst. Als abgeschlossen gilt die Implementierung konfigurierter Wiederholungen bei Fehlern, die Beibehaltung des 202-Pollings und des Verhaltens ohne Optionen, dokumentierte Verwendung sowie Tests für Erfolg, Ausschöpfung, Ausschlüsse, Limits, Replay und das Zusammenspiel mit dem Polling.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Add configurable, durable HTTP failure retries to the azure-functions-durable v2 compatibility package in this repository. This is the Python v2 follow-up to Azure/azure-functions-durable-extension#1984, not a request for generic activity retry support.

Current behavior

Checked azure-functions-durable==2.0.0rc1 (azurefunctions-v2.0.0rc1):

  • DurableOrchestrationContext.call_http(method, uri, content=None, headers=None, token_source=None, is_raw_str=False) has no HTTP retry parameter and schedules the built-in HTTP polling sub-orchestration.
  • DurableHttpRequest neither accepts nor serializes a retry policy or retryable-status-code list.
  • builtin_http_activity returns HTTP error responses rather than treating selected statuses as retryable failures.
  • The polling orchestrator calls activities without a retry policy and repeats only for HTTP 202 responses with a Location header.

This package executes HTTP through worker-side built-ins rather than the extension's native HTTP action. Retry support must be implemented in that worker path, not just added to a host-bound JSON field.

Acceptance Criteria

  • Expose HTTP-specific retry configuration on call_http, including first retry interval, maximum attempts, backoff coefficient, maximum retry interval, retry timeout, and retryable HTTP status codes.
  • Carry the configuration through the request model/serialization and apply durable retries to selected HTTP statuses and retryable transport failures.
  • Define and document status-code defaults consistent with .NET HttpRetryOptions (an omitted/empty status-code list retries 4xx/5xx responses when a retry policy is supplied).
  • Preserve existing behavior when retry options are omitted, and keep HTTP 202 polling distinct from failure retries.
  • Add coverage for retry-then-success, exhausted attempts, excluded status codes, backoff/timeout limits, replay, and interaction with 202 polling.
  • Document usage and any intentional differences from .NET HTTP retry semantics.

Related

Vorherrschende Sprache
Python
Sterne
40
Forks
33
Ø Merge
2 T. 2 Std.
Gemergte PRs (30 T.)
6

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/durabletask-python

Alle Issues in microsoft/durabletask-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.