From d3ae5236e55d694f05f4ee0a977914b7a231649f Mon Sep 17 00:00:00 2001 From: Durable Workflow Date: Fri, 23 Oct 2026 12:03:27 +0000 Subject: [PATCH 1/2] docs: record published PHP control request deadlines in all locales --- docs/deployment.md | 2 ++ i18n/de/docusaurus-plugin-content-docs/current/deployment.md | 2 ++ i18n/de/source-hashes.json | 2 +- i18n/es/docusaurus-plugin-content-docs/current/deployment.md | 2 ++ i18n/es/source-hashes.json | 2 +- i18n/fr/docusaurus-plugin-content-docs/current/deployment.md | 2 ++ i18n/fr/source-hashes.json | 2 +- i18n/ja/docusaurus-plugin-content-docs/current/deployment.md | 2 ++ i18n/ja/source-hashes.json | 2 +- i18n/pt-BR/docusaurus-plugin-content-docs/current/deployment.md | 2 ++ i18n/pt-BR/source-hashes.json | 2 +- i18n/uk/docusaurus-plugin-content-docs/current/deployment.md | 2 ++ i18n/uk/source-hashes.json | 2 +- .../docusaurus-plugin-content-docs/current/deployment.md | 2 ++ i18n/zh-Hans/source-hashes.json | 2 +- 15 files changed, 23 insertions(+), 7 deletions(-) diff --git a/docs/deployment.md b/docs/deployment.md index c2eeab591cc..e807b4bd07b 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -308,6 +308,8 @@ Check the installed SDK's arithmetic rather than copying a timeout from another PHP SDK **3.2.0** ordinary control-plane `Client` calls do not supply a default total HTTP deadline; see the [verified timeout gap in PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Configure a bounded HTTP client for those calls and preserve the original caller deadline. A Worker poll timeout is not a general bound on every SDK request. +PHP SDK **3.4.0 or newer** adds a **60-second default total deadline** for SDK-owned ordinary control HTTP requests; configure a positive `requestTimeoutSeconds` value in seconds. Timeouts carry `reason=request_timeout` and `status=0`. The SDK makes one attempt: a timed-out mutation may already have been accepted, so inspect its original identity/outcome before resubmitting. Injected clients/transports keep their own timeout policy and cannot be combined with this option. This per-request bound does not replace worker long-poll, payload-transfer or workflow/caller deadlines. Check `composer.lock`; this feature minimum does not update the selected installation tuple. See [HTTP client setup](https://php.durable-workflow.com/getting-started/client-setup/) and the [normal installed 3.4.0 receipt](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). + ### Verified short-poll example {#verified-poll-timeout-example} An isolated test used published Python SDK **2.9.0**, PHP Server **2.11.0** and Nginx **1.30.5**, with an empty task queue. Both cells kept the SDK poll duration at **3 seconds**, HTTPX connect/read/write/pool timeouts at **8 seconds**, and an outer caller bound of **10 seconds**. Only Nginx's upstream read timeout changed: diff --git a/i18n/de/docusaurus-plugin-content-docs/current/deployment.md b/i18n/de/docusaurus-plugin-content-docs/current/deployment.md index 2eed5c01b5e..b92e9adb7ab 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/deployment.md @@ -187,6 +187,8 @@ Prüfen Sie die Berechnung des installierten SDKs. Die unten verifizierte Python Normale Control-Plane-Aufrufe mit `Client` im PHP SDK **3.2.0** geben keine standardmäßige HTTP-Gesamtfrist vor; siehe die [verifizierte Timeout-Lücke PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Konfigurieren Sie dafür einen begrenzten HTTP-Client und erhalten Sie die ursprüngliche Aufruferfrist. Ein Worker-Poll-Timeout begrenzt nicht jede SDK-Anfrage. +PHP SDK **3.4.0 oder neuer** ergänzt für gewöhnliche Control-HTTP-Anfragen des SDK-eigenen Transports ein **standardmäßiges Gesamtzeitlimit von 60 Sekunden**; setzen Sie `requestTimeoutSeconds` auf eine positive Sekundenzahl. Zeitüberschreitungen tragen `reason=request_timeout` und `status=0`. Das SDK versucht einmal: Eine Änderung mit Timeout kann bereits angenommen sein; prüfen Sie ursprüngliche Identität/Ergebnis vor erneutem Senden. Injizierte Clients/Transporte behalten ihre Timeout-Policy und lassen sich nicht mit dieser Option kombinieren. Die Anfragegrenze ersetzt keine Worker-Long-Poll-, Payload-Transfer- oder Workflow/Aufrufer-Fristen. Prüfen Sie `composer.lock`: Diese Mindestversion ändert nicht die gewählte Installationskombination. Siehe [HTTP-Einrichtung](https://php.durable-workflow.com/getting-started/client-setup/) und [normale Installationsabnahme 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). + ### Verifiziertes Beispiel mit kurzem Poll {#verified-poll-timeout-example} Ein isolierter Test nutzte veröffentlichte Python SDK **2.9.0**, PHP Server **2.11.0** und Nginx **1.30.5** mit leerer Warteschlange. Beide Zellen behielten **3 Sekunden** Poll-Dauer, **8 Sekunden** HTTPX connect/read/write/pool und **10 Sekunden** äußere Aufruferfrist. Nur Nginx’ Upstream-Lese-Timeout änderte sich: diff --git a/i18n/de/source-hashes.json b/i18n/de/source-hashes.json index eb7029654e3..653c8f51442 100644 --- a/i18n/de/source-hashes.json +++ b/i18n/de/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "2f272a9c37aade0a8bd7ab5ab388a9aaef9b9d4a9ae387ca303bf67e6c860d97", + "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/es/docusaurus-plugin-content-docs/current/deployment.md b/i18n/es/docusaurus-plugin-content-docs/current/deployment.md index 177155c2241..d036bc3d71a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/deployment.md @@ -284,6 +284,8 @@ Compruebe el cálculo del SDK instalado. En la versión de Python verificada aba Las llamadas ordinarias de control con `Client` en PHP SDK **3.2.0** no proporcionan un plazo HTTP total predeterminado; véase el [defecto verificado PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Configure un cliente HTTP acotado para esas llamadas y conserve el plazo original del llamador. El timeout de polling del Worker no limita todas las peticiones del SDK. +PHP SDK **3.4.0 o posterior** añade un **plazo total predeterminado de 60 segundos** a las peticiones HTTP de control normales del transporte propio del SDK; configure un `requestTimeoutSeconds` positivo en segundos. Los timeouts llevan `reason=request_timeout` y `status=0`. El SDK realiza un intento: una mutación agotada puede haber sido aceptada; inspeccione su identidad/resultado original antes de reenviarla. Clientes/transportes inyectados conservan su política y no pueden combinarse con esta opción. El límite por petición no sustituye plazos de long-poll del worker, transferencias de payload ni workflow/llamador. Revise `composer.lock`: este mínimo no cambia la combinación seleccionada. Véanse la [configuración HTTP](https://php.durable-workflow.com/getting-started/client-setup/) y la [aceptación instalada 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). + ### Ejemplo verificado de poll corto {#verified-poll-timeout-example} Una prueba aislada usó Python SDK **2.9.0**, PHP Server **2.11.0** y Nginx **1.30.5** publicados, con una cola vacía. Ambas celdas conservaron el poll de **3 segundos**, los timeouts connect/read/write/pool de HTTPX de **8 segundos** y el límite exterior del llamador de **10 segundos**. Solo cambió el timeout de lectura upstream de Nginx: diff --git a/i18n/es/source-hashes.json b/i18n/es/source-hashes.json index eb7029654e3..653c8f51442 100644 --- a/i18n/es/source-hashes.json +++ b/i18n/es/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "2f272a9c37aade0a8bd7ab5ab388a9aaef9b9d4a9ae387ca303bf67e6c860d97", + "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/deployment.md b/i18n/fr/docusaurus-plugin-content-docs/current/deployment.md index 21394656fbb..c7cfea6464e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/deployment.md @@ -290,6 +290,8 @@ Vérifiez le calcul du SDK installé. Dans la version Python vérifiée ci-desso Les appels ordinaires du plan de contrôle via `Client` dans PHP SDK **3.2.0** ne fournissent pas d’échéance HTTP totale par défaut ; voir le [défaut vérifié PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Configurez un client HTTP borné pour ces appels et conservez l’échéance initiale de l’appelant. Le timeout de polling du Worker ne borne pas toutes les requêtes du SDK. +PHP SDK **3.4.0 ou ultérieur** ajoute un **délai total par défaut de 60 secondes** aux requêtes HTTP de contrôle ordinaires du transport propre au SDK ; configurez `requestTimeoutSeconds` avec des secondes positives. Les timeouts portent `reason=request_timeout` et `status=0`. Le SDK fait un seul essai : une mutation expirée peut déjà être acceptée ; inspectez son identité/résultat initial avant de la renvoyer. Les clients/transports injectés gardent leur politique et ne peuvent être combinés à cette option. Cette limite par requête ne remplace pas les délais long-poll du worker, de transfert de payload ou du workflow/appelant. Vérifiez `composer.lock` : ce minimum ne change pas la combinaison sélectionnée. Voir la [configuration HTTP](https://php.durable-workflow.com/getting-started/client-setup/) et l’[acceptation installée 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). + ### Exemple vérifié de poll court {#verified-poll-timeout-example} Un test isolé a utilisé Python SDK **2.9.0**, PHP Server **2.11.0** et Nginx **1.30.5** publiés avec une file vide. Les deux cellules gardent un poll de **3 secondes**, des timeouts HTTPX connect/read/write/pool de **8 secondes** et une limite extérieure de l’appelant de **10 secondes**. Seul le timeout de lecture upstream de Nginx change : diff --git a/i18n/fr/source-hashes.json b/i18n/fr/source-hashes.json index eb7029654e3..653c8f51442 100644 --- a/i18n/fr/source-hashes.json +++ b/i18n/fr/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "2f272a9c37aade0a8bd7ab5ab388a9aaef9b9d4a9ae387ca303bf67e6c860d97", + "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/deployment.md b/i18n/ja/docusaurus-plugin-content-docs/current/deployment.md index a7312d3a6a1..0575a5cc631 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/deployment.md @@ -188,6 +188,8 @@ VM、網、DB、キャッシュ、バックアップ、LB のモデルが明確 PHP SDK **3.2.0** の通常の制御プレーン `Client` 呼び出しには、既定の HTTP 全体期限がありません。[PHP #203 の検証済みの制限](https://github.com/durable-workflow/sdk-php/issues/203)を参照し、有界の HTTP クライアントを設定して、呼び出し元の元の期限を保ってください。Worker のポーリングタイムアウトは、SDK のすべての要求の期限ではありません。 +PHP SDK **3.4.0 以降**は SDK 所有のトランスポートによる通常の制御 HTTP 要求に**既定60秒の全体期限**を設けます。正の秒数を `requestTimeoutSeconds` で設定できます。タイムアウトは `reason=request_timeout` と `status=0` を持ちます。SDK は1回だけ試行します。応答がタイムアウトしても変更は受理済みの可能性があるため、再送前に元の識別子と結果を確認してください。注入したクライアント/トランスポートは独自の方針を保ち、このオプションと併用できません。要求単位の制限は worker long-poll、payload 転送、workflow/呼び出し元の期限を置き換えません。`composer.lock` を確認してください。この最低バージョンは選択済みインストール構成を更新しません。[HTTP 設定](https://php.durable-workflow.com/getting-started/client-setup/)と[3.4.0 の通常インストール検証](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756)を参照してください。 + ### 検証済みの短いポーリング例 {#verified-poll-timeout-example} 独立した検証で、公開済み Python SDK **2.9.0**、PHP Server **2.11.0**、Nginx **1.30.5** と空のタスクキューを使いました。両ケースとも SDK の待機は **3 秒**、HTTPX の connect/read/write/pool は **8 秒**、呼び出し元の外側の期限は **10 秒**で固定しました。変更したのは Nginx の upstream 読み取りタイムアウトだけです。 diff --git a/i18n/ja/source-hashes.json b/i18n/ja/source-hashes.json index eb7029654e3..653c8f51442 100644 --- a/i18n/ja/source-hashes.json +++ b/i18n/ja/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "2f272a9c37aade0a8bd7ab5ab388a9aaef9b9d4a9ae387ca303bf67e6c860d97", + "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/pt-BR/docusaurus-plugin-content-docs/current/deployment.md b/i18n/pt-BR/docusaurus-plugin-content-docs/current/deployment.md index 9057ca39700..69ef45a0e7e 100644 --- a/i18n/pt-BR/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/pt-BR/docusaurus-plugin-content-docs/current/deployment.md @@ -309,6 +309,8 @@ Confira o cálculo do SDK instalado. Na versão de Python verificada abaixo, um Chamadas comuns do control plane com `Client` no PHP SDK **3.2.0** não fornecem um prazo HTTP total padrão. Veja a [lacuna verificada em PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Configure um cliente HTTP com limites para essas chamadas e preserve o prazo original do chamador. O timeout de polling do Worker não limita todas as requisições do SDK. +PHP SDK **3.4.0 ou posterior** adiciona um **prazo total padrão de 60 segundos** às requisições HTTP comuns de controle pelo transporte próprio do SDK; configure `requestTimeoutSeconds` positivo em segundos. Timeouts trazem `reason=request_timeout` e `status=0`. O SDK faz uma tentativa: uma mutação com timeout já pode ter sido aceita; verifique identidade/resultado original antes de reenviá-la. Clientes/transportes injetados mantêm sua política e não podem ser combinados com essa opção. O limite por requisição não substitui prazos de long-poll do worker, transferência de payload ou workflow/chamador. Confira `composer.lock`: esse mínimo não altera a combinação selecionada. Veja a [configuração HTTP](https://php.durable-workflow.com/getting-started/client-setup/) e a [aceitação instalada 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). + ### Exemplo verificado de poll curto {#verified-poll-timeout-example} Uma verificação isolada usou Python SDK **2.9.0**, PHP Server **2.11.0** e Nginx **1.30.5** publicados, com uma fila vazia. Ambas as células mantiveram o poll em **3 segundos**, os timeouts connect/read/write/pool do HTTPX em **8 segundos** e o limite externo do chamador em **10 segundos**. Só mudou o timeout de leitura upstream do Nginx: diff --git a/i18n/pt-BR/source-hashes.json b/i18n/pt-BR/source-hashes.json index eb7029654e3..653c8f51442 100644 --- a/i18n/pt-BR/source-hashes.json +++ b/i18n/pt-BR/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "2f272a9c37aade0a8bd7ab5ab388a9aaef9b9d4a9ae387ca303bf67e6c860d97", + "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/uk/docusaurus-plugin-content-docs/current/deployment.md b/i18n/uk/docusaurus-plugin-content-docs/current/deployment.md index d5ac6b963b5..9e40e1ee16a 100644 --- a/i18n/uk/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/uk/docusaurus-plugin-content-docs/current/deployment.md @@ -297,6 +297,8 @@ README Server підтримує актуальні команди Compose в р Звичайні виклики control plane через `Client` у PHP SDK **3.2.0** не задають типового загального кінцевого строку HTTP. Дивіться [перевірений дефект PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Налаштуйте обмежений HTTP-клієнт для цих викликів і зберігайте початковий кінцевий строк. Таймаут опитування Worker не обмежує всі запити SDK. +PHP SDK **3.4.0 або новіший** додає **типовий загальний строк 60 секунд** для звичайних control HTTP-запитів через власний транспорт SDK; задайте додатне `requestTimeoutSeconds` у секундах. Таймаути мають `reason=request_timeout` і `status=0`. SDK робить одну спробу: mutation із таймаутом уже могла бути прийнята, тому перед повтором перевірте початкову ідентичність/результат. Вставлені клієнти/транспорти зберігають власну timeout policy й не поєднуються з цим параметром. Межа одного запиту не замінює строки worker long-poll, передавання payload чи workflow/виклику. Перевіряйте `composer.lock`: мінімум функції не змінює вибрану комбінацію встановлення. Див. [налаштування HTTP-клієнта](https://php.durable-workflow.com/getting-started/client-setup/) і [перевірку звичайного встановлення 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). + ### Перевірений приклад короткого опитування {#verified-poll-timeout-example} Ізольована перевірка використовувала опубліковані Python SDK **2.9.0**, PHP Server **2.11.0** і Nginx **1.30.5** з порожньою чергою. В обох випадках опитування SDK тривало **3 секунди**, таймаути connect/read/write/pool HTTPX становили **8 секунд**, а зовнішня межа виклику — **10 секунд**. Змінювався лише таймаут читання upstream у Nginx: diff --git a/i18n/uk/source-hashes.json b/i18n/uk/source-hashes.json index eb7029654e3..653c8f51442 100644 --- a/i18n/uk/source-hashes.json +++ b/i18n/uk/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "2f272a9c37aade0a8bd7ab5ab388a9aaef9b9d4a9ae387ca303bf67e6c860d97", + "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deployment.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deployment.md index d77914e30ec..7e27fe79acb 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deployment.md @@ -187,6 +187,8 @@ Server README 的[官方镜像 + Compose](https://github.com/durable-workflow/se PHP SDK **3.2.0** 的普通控制平面 `Client` 调用不提供默认 HTTP 总期限,见[已验证的 PHP #203 超时缺口](https://github.com/durable-workflow/sdk-php/issues/203)。请为这些调用配置有界 HTTP 客户端,并保留调用方原始截止时间。Worker 轮询超时并不限制所有 SDK 请求。 +PHP SDK **3.4.0 或更新版本**为 SDK 自有传输的普通控制 HTTP 请求增加**默认 60 秒总期限**;可用正数秒值 `requestTimeoutSeconds` 配置。超时携带 `reason=request_timeout` 和 `status=0`。SDK 只尝试一次:超时的变更可能已经被接受,重发前应检查原始身份及结果。注入的客户端/传输保留自身超时策略,不能与此选项同时使用。每请求的期限不替代 worker 长轮询、payload 传输或工作流/调用方期限。请检查 `composer.lock`:此最低版本不改变所选安装组合。参见 [HTTP 客户端配置](https://php.durable-workflow.com/getting-started/client-setup/) 和[普通安装 3.4.0 验收](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756)。 + ### 已验证的短轮询示例 {#verified-poll-timeout-example} 隔离验证使用已发布的 Python SDK **2.9.0**、PHP Server **2.11.0** 和 Nginx **1.30.5**,任务队列为空。两个验证单元均保持 **3 秒** SDK 轮询、**8 秒** HTTPX connect/read/write/pool 超时,以及 **10 秒**调用方外层期限。仅改变 Nginx 的 upstream 读取超时: diff --git a/i18n/zh-Hans/source-hashes.json b/i18n/zh-Hans/source-hashes.json index eb7029654e3..653c8f51442 100644 --- a/i18n/zh-Hans/source-hashes.json +++ b/i18n/zh-Hans/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "2f272a9c37aade0a8bd7ab5ab388a9aaef9b9d4a9ae387ca303bf67e6c860d97", + "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", From 6f4b4a3c662993855d991d5e4554e5edd57b8c12 Mon Sep 17 00:00:00 2001 From: Durable Workflow Date: Fri, 23 Oct 2026 12:06:04 +0000 Subject: [PATCH 2/2] docs: clarify owned timeout errors and the supported minimum duration --- docs/deployment.md | 2 +- i18n/de/docusaurus-plugin-content-docs/current/deployment.md | 2 +- i18n/de/source-hashes.json | 2 +- i18n/es/docusaurus-plugin-content-docs/current/deployment.md | 2 +- i18n/es/source-hashes.json | 2 +- i18n/fr/docusaurus-plugin-content-docs/current/deployment.md | 2 +- i18n/fr/source-hashes.json | 2 +- i18n/ja/docusaurus-plugin-content-docs/current/deployment.md | 2 +- i18n/ja/source-hashes.json | 2 +- i18n/pt-BR/docusaurus-plugin-content-docs/current/deployment.md | 2 +- i18n/pt-BR/source-hashes.json | 2 +- i18n/uk/docusaurus-plugin-content-docs/current/deployment.md | 2 +- i18n/uk/source-hashes.json | 2 +- .../docusaurus-plugin-content-docs/current/deployment.md | 2 +- i18n/zh-Hans/source-hashes.json | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/deployment.md b/docs/deployment.md index e807b4bd07b..69a305c8215 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -308,7 +308,7 @@ Check the installed SDK's arithmetic rather than copying a timeout from another PHP SDK **3.2.0** ordinary control-plane `Client` calls do not supply a default total HTTP deadline; see the [verified timeout gap in PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Configure a bounded HTTP client for those calls and preserve the original caller deadline. A Worker poll timeout is not a general bound on every SDK request. -PHP SDK **3.4.0 or newer** adds a **60-second default total deadline** for SDK-owned ordinary control HTTP requests; configure a positive `requestTimeoutSeconds` value in seconds. Timeouts carry `reason=request_timeout` and `status=0`. The SDK makes one attempt: a timed-out mutation may already have been accepted, so inspect its original identity/outcome before resubmitting. Injected clients/transports keep their own timeout policy and cannot be combined with this option. This per-request bound does not replace worker long-poll, payload-transfer or workflow/caller deadlines. Check `composer.lock`; this feature minimum does not update the selected installation tuple. See [HTTP client setup](https://php.durable-workflow.com/getting-started/client-setup/) and the [normal installed 3.4.0 receipt](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). +PHP SDK **3.4.0 or newer** adds a **60-second default total deadline** for SDK-owned ordinary control HTTP requests; configure a finite `requestTimeoutSeconds` value of at least `0.001` seconds. These SDK-owned timeouts carry `reason=request_timeout` and `status=0`. The SDK makes one attempt: a timed-out mutation may already have been accepted, so inspect its original identity/outcome before resubmitting. Injected clients/transports keep their own timeout policy and cannot be combined with this option. This per-request bound does not replace worker long-poll, payload-transfer or workflow/caller deadlines. Check `composer.lock`; this feature minimum does not update the selected installation tuple. See [HTTP client setup](https://php.durable-workflow.com/getting-started/client-setup/) and the [normal installed 3.4.0 receipt](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). ### Verified short-poll example {#verified-poll-timeout-example} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/deployment.md b/i18n/de/docusaurus-plugin-content-docs/current/deployment.md index b92e9adb7ab..c91446a7cd8 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/deployment.md @@ -187,7 +187,7 @@ Prüfen Sie die Berechnung des installierten SDKs. Die unten verifizierte Python Normale Control-Plane-Aufrufe mit `Client` im PHP SDK **3.2.0** geben keine standardmäßige HTTP-Gesamtfrist vor; siehe die [verifizierte Timeout-Lücke PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Konfigurieren Sie dafür einen begrenzten HTTP-Client und erhalten Sie die ursprüngliche Aufruferfrist. Ein Worker-Poll-Timeout begrenzt nicht jede SDK-Anfrage. -PHP SDK **3.4.0 oder neuer** ergänzt für gewöhnliche Control-HTTP-Anfragen des SDK-eigenen Transports ein **standardmäßiges Gesamtzeitlimit von 60 Sekunden**; setzen Sie `requestTimeoutSeconds` auf eine positive Sekundenzahl. Zeitüberschreitungen tragen `reason=request_timeout` und `status=0`. Das SDK versucht einmal: Eine Änderung mit Timeout kann bereits angenommen sein; prüfen Sie ursprüngliche Identität/Ergebnis vor erneutem Senden. Injizierte Clients/Transporte behalten ihre Timeout-Policy und lassen sich nicht mit dieser Option kombinieren. Die Anfragegrenze ersetzt keine Worker-Long-Poll-, Payload-Transfer- oder Workflow/Aufrufer-Fristen. Prüfen Sie `composer.lock`: Diese Mindestversion ändert nicht die gewählte Installationskombination. Siehe [HTTP-Einrichtung](https://php.durable-workflow.com/getting-started/client-setup/) und [normale Installationsabnahme 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). +PHP SDK **3.4.0 oder neuer** ergänzt für gewöhnliche Control-HTTP-Anfragen des SDK-eigenen Transports ein **standardmäßiges Gesamtzeitlimit von 60 Sekunden**; setzen Sie `requestTimeoutSeconds` auf einen endlichen Wert von mindestens `0.001` Sekunden. Diese SDK-eigenen Zeitüberschreitungen tragen `reason=request_timeout` und `status=0`. Das SDK versucht einmal: Eine Änderung mit Timeout kann bereits angenommen sein; prüfen Sie ursprüngliche Identität/Ergebnis vor erneutem Senden. Injizierte Clients/Transporte behalten ihre Timeout-Policy und lassen sich nicht mit dieser Option kombinieren. Die Anfragegrenze ersetzt keine Worker-Long-Poll-, Payload-Transfer- oder Workflow/Aufrufer-Fristen. Prüfen Sie `composer.lock`: Diese Mindestversion ändert nicht die gewählte Installationskombination. Siehe [HTTP-Einrichtung](https://php.durable-workflow.com/getting-started/client-setup/) und [normale Installationsabnahme 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). ### Verifiziertes Beispiel mit kurzem Poll {#verified-poll-timeout-example} diff --git a/i18n/de/source-hashes.json b/i18n/de/source-hashes.json index c0efb79b808..bfa6df3954b 100644 --- a/i18n/de/source-hashes.json +++ b/i18n/de/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", + "deployment.md": "aa76a132fd78a27428dd9b8d9ab6f81aa8661b3f302eb799877688b77f508596", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/es/docusaurus-plugin-content-docs/current/deployment.md b/i18n/es/docusaurus-plugin-content-docs/current/deployment.md index d036bc3d71a..7dd41f7ab23 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/deployment.md @@ -284,7 +284,7 @@ Compruebe el cálculo del SDK instalado. En la versión de Python verificada aba Las llamadas ordinarias de control con `Client` en PHP SDK **3.2.0** no proporcionan un plazo HTTP total predeterminado; véase el [defecto verificado PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Configure un cliente HTTP acotado para esas llamadas y conserve el plazo original del llamador. El timeout de polling del Worker no limita todas las peticiones del SDK. -PHP SDK **3.4.0 o posterior** añade un **plazo total predeterminado de 60 segundos** a las peticiones HTTP de control normales del transporte propio del SDK; configure un `requestTimeoutSeconds` positivo en segundos. Los timeouts llevan `reason=request_timeout` y `status=0`. El SDK realiza un intento: una mutación agotada puede haber sido aceptada; inspeccione su identidad/resultado original antes de reenviarla. Clientes/transportes inyectados conservan su política y no pueden combinarse con esta opción. El límite por petición no sustituye plazos de long-poll del worker, transferencias de payload ni workflow/llamador. Revise `composer.lock`: este mínimo no cambia la combinación seleccionada. Véanse la [configuración HTTP](https://php.durable-workflow.com/getting-started/client-setup/) y la [aceptación instalada 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). +PHP SDK **3.4.0 o posterior** añade un **plazo total predeterminado de 60 segundos** a las peticiones HTTP de control normales del transporte propio del SDK; configure un `requestTimeoutSeconds` finito de al menos `0.001` segundos. Estos timeouts del transporte propio del SDK llevan `reason=request_timeout` y `status=0`. El SDK realiza un intento: una mutación agotada puede haber sido aceptada; inspeccione su identidad/resultado original antes de reenviarla. Clientes/transportes inyectados conservan su política y no pueden combinarse con esta opción. El límite por petición no sustituye plazos de long-poll del worker, transferencias de payload ni workflow/llamador. Revise `composer.lock`: este mínimo no cambia la combinación seleccionada. Véanse la [configuración HTTP](https://php.durable-workflow.com/getting-started/client-setup/) y la [aceptación instalada 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). ### Ejemplo verificado de poll corto {#verified-poll-timeout-example} diff --git a/i18n/es/source-hashes.json b/i18n/es/source-hashes.json index c0efb79b808..bfa6df3954b 100644 --- a/i18n/es/source-hashes.json +++ b/i18n/es/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", + "deployment.md": "aa76a132fd78a27428dd9b8d9ab6f81aa8661b3f302eb799877688b77f508596", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/deployment.md b/i18n/fr/docusaurus-plugin-content-docs/current/deployment.md index c7cfea6464e..4f2a64166f7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/deployment.md @@ -290,7 +290,7 @@ Vérifiez le calcul du SDK installé. Dans la version Python vérifiée ci-desso Les appels ordinaires du plan de contrôle via `Client` dans PHP SDK **3.2.0** ne fournissent pas d’échéance HTTP totale par défaut ; voir le [défaut vérifié PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Configurez un client HTTP borné pour ces appels et conservez l’échéance initiale de l’appelant. Le timeout de polling du Worker ne borne pas toutes les requêtes du SDK. -PHP SDK **3.4.0 ou ultérieur** ajoute un **délai total par défaut de 60 secondes** aux requêtes HTTP de contrôle ordinaires du transport propre au SDK ; configurez `requestTimeoutSeconds` avec des secondes positives. Les timeouts portent `reason=request_timeout` et `status=0`. Le SDK fait un seul essai : une mutation expirée peut déjà être acceptée ; inspectez son identité/résultat initial avant de la renvoyer. Les clients/transports injectés gardent leur politique et ne peuvent être combinés à cette option. Cette limite par requête ne remplace pas les délais long-poll du worker, de transfert de payload ou du workflow/appelant. Vérifiez `composer.lock` : ce minimum ne change pas la combinaison sélectionnée. Voir la [configuration HTTP](https://php.durable-workflow.com/getting-started/client-setup/) et l’[acceptation installée 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). +PHP SDK **3.4.0 ou ultérieur** ajoute un **délai total par défaut de 60 secondes** aux requêtes HTTP de contrôle ordinaires du transport propre au SDK ; configurez une valeur finie `requestTimeoutSeconds` d’au moins `0.001` seconde. Ces timeouts du transport propre au SDK portent `reason=request_timeout` et `status=0`. Le SDK fait un seul essai : une mutation expirée peut déjà être acceptée ; inspectez son identité/résultat initial avant de la renvoyer. Les clients/transports injectés gardent leur politique et ne peuvent être combinés à cette option. Cette limite par requête ne remplace pas les délais long-poll du worker, de transfert de payload ou du workflow/appelant. Vérifiez `composer.lock` : ce minimum ne change pas la combinaison sélectionnée. Voir la [configuration HTTP](https://php.durable-workflow.com/getting-started/client-setup/) et l’[acceptation installée 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). ### Exemple vérifié de poll court {#verified-poll-timeout-example} diff --git a/i18n/fr/source-hashes.json b/i18n/fr/source-hashes.json index c0efb79b808..bfa6df3954b 100644 --- a/i18n/fr/source-hashes.json +++ b/i18n/fr/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", + "deployment.md": "aa76a132fd78a27428dd9b8d9ab6f81aa8661b3f302eb799877688b77f508596", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/deployment.md b/i18n/ja/docusaurus-plugin-content-docs/current/deployment.md index 0575a5cc631..5dc72ca5e07 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/deployment.md @@ -188,7 +188,7 @@ VM、網、DB、キャッシュ、バックアップ、LB のモデルが明確 PHP SDK **3.2.0** の通常の制御プレーン `Client` 呼び出しには、既定の HTTP 全体期限がありません。[PHP #203 の検証済みの制限](https://github.com/durable-workflow/sdk-php/issues/203)を参照し、有界の HTTP クライアントを設定して、呼び出し元の元の期限を保ってください。Worker のポーリングタイムアウトは、SDK のすべての要求の期限ではありません。 -PHP SDK **3.4.0 以降**は SDK 所有のトランスポートによる通常の制御 HTTP 要求に**既定60秒の全体期限**を設けます。正の秒数を `requestTimeoutSeconds` で設定できます。タイムアウトは `reason=request_timeout` と `status=0` を持ちます。SDK は1回だけ試行します。応答がタイムアウトしても変更は受理済みの可能性があるため、再送前に元の識別子と結果を確認してください。注入したクライアント/トランスポートは独自の方針を保ち、このオプションと併用できません。要求単位の制限は worker long-poll、payload 転送、workflow/呼び出し元の期限を置き換えません。`composer.lock` を確認してください。この最低バージョンは選択済みインストール構成を更新しません。[HTTP 設定](https://php.durable-workflow.com/getting-started/client-setup/)と[3.4.0 の通常インストール検証](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756)を参照してください。 +PHP SDK **3.4.0 以降**は SDK 所有のトランスポートによる通常の制御 HTTP 要求に**既定60秒の全体期限**を設けます。`0.001` 秒以上の有限値を `requestTimeoutSeconds` で設定できます。SDK 所有の要求のタイムアウトは `reason=request_timeout` と `status=0` を持ちます。SDK は1回だけ試行します。応答がタイムアウトしても変更は受理済みの可能性があるため、再送前に元の識別子と結果を確認してください。注入したクライアント/トランスポートは独自の方針を保ち、このオプションと併用できません。要求単位の制限は worker long-poll、payload 転送、workflow/呼び出し元の期限を置き換えません。`composer.lock` を確認してください。この最低バージョンは選択済みインストール構成を更新しません。[HTTP 設定](https://php.durable-workflow.com/getting-started/client-setup/)と[3.4.0 の通常インストール検証](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756)を参照してください。 ### 検証済みの短いポーリング例 {#verified-poll-timeout-example} diff --git a/i18n/ja/source-hashes.json b/i18n/ja/source-hashes.json index c0efb79b808..bfa6df3954b 100644 --- a/i18n/ja/source-hashes.json +++ b/i18n/ja/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", + "deployment.md": "aa76a132fd78a27428dd9b8d9ab6f81aa8661b3f302eb799877688b77f508596", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/pt-BR/docusaurus-plugin-content-docs/current/deployment.md b/i18n/pt-BR/docusaurus-plugin-content-docs/current/deployment.md index 69ef45a0e7e..e28bfc4c83b 100644 --- a/i18n/pt-BR/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/pt-BR/docusaurus-plugin-content-docs/current/deployment.md @@ -309,7 +309,7 @@ Confira o cálculo do SDK instalado. Na versão de Python verificada abaixo, um Chamadas comuns do control plane com `Client` no PHP SDK **3.2.0** não fornecem um prazo HTTP total padrão. Veja a [lacuna verificada em PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Configure um cliente HTTP com limites para essas chamadas e preserve o prazo original do chamador. O timeout de polling do Worker não limita todas as requisições do SDK. -PHP SDK **3.4.0 ou posterior** adiciona um **prazo total padrão de 60 segundos** às requisições HTTP comuns de controle pelo transporte próprio do SDK; configure `requestTimeoutSeconds` positivo em segundos. Timeouts trazem `reason=request_timeout` e `status=0`. O SDK faz uma tentativa: uma mutação com timeout já pode ter sido aceita; verifique identidade/resultado original antes de reenviá-la. Clientes/transportes injetados mantêm sua política e não podem ser combinados com essa opção. O limite por requisição não substitui prazos de long-poll do worker, transferência de payload ou workflow/chamador. Confira `composer.lock`: esse mínimo não altera a combinação selecionada. Veja a [configuração HTTP](https://php.durable-workflow.com/getting-started/client-setup/) e a [aceitação instalada 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). +PHP SDK **3.4.0 ou posterior** adiciona um **prazo total padrão de 60 segundos** às requisições HTTP comuns de controle pelo transporte próprio do SDK; configure `requestTimeoutSeconds` finito de pelo menos `0.001` segundos. Esses timeouts do transporte próprio do SDK trazem `reason=request_timeout` e `status=0`. O SDK faz uma tentativa: uma mutação com timeout já pode ter sido aceita; verifique identidade/resultado original antes de reenviá-la. Clientes/transportes injetados mantêm sua política e não podem ser combinados com essa opção. O limite por requisição não substitui prazos de long-poll do worker, transferência de payload ou workflow/chamador. Confira `composer.lock`: esse mínimo não altera a combinação selecionada. Veja a [configuração HTTP](https://php.durable-workflow.com/getting-started/client-setup/) e a [aceitação instalada 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). ### Exemplo verificado de poll curto {#verified-poll-timeout-example} diff --git a/i18n/pt-BR/source-hashes.json b/i18n/pt-BR/source-hashes.json index c0efb79b808..bfa6df3954b 100644 --- a/i18n/pt-BR/source-hashes.json +++ b/i18n/pt-BR/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", + "deployment.md": "aa76a132fd78a27428dd9b8d9ab6f81aa8661b3f302eb799877688b77f508596", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/uk/docusaurus-plugin-content-docs/current/deployment.md b/i18n/uk/docusaurus-plugin-content-docs/current/deployment.md index 9e40e1ee16a..ef960960af6 100644 --- a/i18n/uk/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/uk/docusaurus-plugin-content-docs/current/deployment.md @@ -297,7 +297,7 @@ README Server підтримує актуальні команди Compose в р Звичайні виклики control plane через `Client` у PHP SDK **3.2.0** не задають типового загального кінцевого строку HTTP. Дивіться [перевірений дефект PHP #203](https://github.com/durable-workflow/sdk-php/issues/203). Налаштуйте обмежений HTTP-клієнт для цих викликів і зберігайте початковий кінцевий строк. Таймаут опитування Worker не обмежує всі запити SDK. -PHP SDK **3.4.0 або новіший** додає **типовий загальний строк 60 секунд** для звичайних control HTTP-запитів через власний транспорт SDK; задайте додатне `requestTimeoutSeconds` у секундах. Таймаути мають `reason=request_timeout` і `status=0`. SDK робить одну спробу: mutation із таймаутом уже могла бути прийнята, тому перед повтором перевірте початкову ідентичність/результат. Вставлені клієнти/транспорти зберігають власну timeout policy й не поєднуються з цим параметром. Межа одного запиту не замінює строки worker long-poll, передавання payload чи workflow/виклику. Перевіряйте `composer.lock`: мінімум функції не змінює вибрану комбінацію встановлення. Див. [налаштування HTTP-клієнта](https://php.durable-workflow.com/getting-started/client-setup/) і [перевірку звичайного встановлення 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). +PHP SDK **3.4.0 або новіший** додає **типовий загальний строк 60 секунд** для звичайних control HTTP-запитів через власний транспорт SDK; задайте скінченне `requestTimeoutSeconds` щонайменше `0.001` секунди. Ці таймаути власного транспорту SDK мають `reason=request_timeout` і `status=0`. SDK робить одну спробу: mutation із таймаутом уже могла бути прийнята, тому перед повтором перевірте початкову ідентичність/результат. Вставлені клієнти/транспорти зберігають власну timeout policy й не поєднуються з цим параметром. Межа одного запиту не замінює строки worker long-poll, передавання payload чи workflow/виклику. Перевіряйте `composer.lock`: мінімум функції не змінює вибрану комбінацію встановлення. Див. [налаштування HTTP-клієнта](https://php.durable-workflow.com/getting-started/client-setup/) і [перевірку звичайного встановлення 3.4.0](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756). ### Перевірений приклад короткого опитування {#verified-poll-timeout-example} diff --git a/i18n/uk/source-hashes.json b/i18n/uk/source-hashes.json index c0efb79b808..bfa6df3954b 100644 --- a/i18n/uk/source-hashes.json +++ b/i18n/uk/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", + "deployment.md": "aa76a132fd78a27428dd9b8d9ab6f81aa8661b3f302eb799877688b77f508596", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1", diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deployment.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deployment.md index 7e27fe79acb..e6468f21ec6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deployment.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deployment.md @@ -187,7 +187,7 @@ Server README 的[官方镜像 + Compose](https://github.com/durable-workflow/se PHP SDK **3.2.0** 的普通控制平面 `Client` 调用不提供默认 HTTP 总期限,见[已验证的 PHP #203 超时缺口](https://github.com/durable-workflow/sdk-php/issues/203)。请为这些调用配置有界 HTTP 客户端,并保留调用方原始截止时间。Worker 轮询超时并不限制所有 SDK 请求。 -PHP SDK **3.4.0 或更新版本**为 SDK 自有传输的普通控制 HTTP 请求增加**默认 60 秒总期限**;可用正数秒值 `requestTimeoutSeconds` 配置。超时携带 `reason=request_timeout` 和 `status=0`。SDK 只尝试一次:超时的变更可能已经被接受,重发前应检查原始身份及结果。注入的客户端/传输保留自身超时策略,不能与此选项同时使用。每请求的期限不替代 worker 长轮询、payload 传输或工作流/调用方期限。请检查 `composer.lock`:此最低版本不改变所选安装组合。参见 [HTTP 客户端配置](https://php.durable-workflow.com/getting-started/client-setup/) 和[普通安装 3.4.0 验收](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756)。 +PHP SDK **3.4.0 或更新版本**为 SDK 自有传输的普通控制 HTTP 请求增加**默认 60 秒总期限**;可用至少 `0.001` 秒的有限数值 `requestTimeoutSeconds` 配置。这些 SDK 自有请求的超时携带 `reason=request_timeout` 和 `status=0`。SDK 只尝试一次:超时的变更可能已经被接受,重发前应检查原始身份及结果。注入的客户端/传输保留自身超时策略,不能与此选项同时使用。每请求的期限不替代 worker 长轮询、payload 传输或工作流/调用方期限。请检查 `composer.lock`:此最低版本不改变所选安装组合。参见 [HTTP 客户端配置](https://php.durable-workflow.com/getting-started/client-setup/) 和[普通安装 3.4.0 验收](https://github.com/durable-workflow/sdk-php/issues/203#issuecomment-6363909756)。 ### 已验证的短轮询示例 {#verified-poll-timeout-example} diff --git a/i18n/zh-Hans/source-hashes.json b/i18n/zh-Hans/source-hashes.json index c0efb79b808..bfa6df3954b 100644 --- a/i18n/zh-Hans/source-hashes.json +++ b/i18n/zh-Hans/source-hashes.json @@ -27,7 +27,7 @@ "defining-workflows/workflow-id.md": "91b94211e2f8f405895ad82cfe2ef9baadb7a2cbd06e9c1e7aa6362231e0d424", "defining-workflows/workflow-status.md": "8e8cb27ff44c890d489d89bf166375acfdfaecabd990a2235e106fab1592d529", "defining-workflows/workflows.md": "f467bc73de32aa5d722c61ce085065460382ae7dd44cea4625847d9fcdc4c97c", - "deployment.md": "df60b2eb4d5e91a1e797390e9761577f60221bc52f6832743cde18e1692270a1", + "deployment.md": "aa76a132fd78a27428dd9b8d9ab6f81aa8661b3f302eb799877688b77f508596", "failures-and-recovery.md": "318f0cc183d26539c7d5b6bdf791429bb874b793b81cff4c6094ef1d11a796b2", "features/activity-execution-model.md": "e8c37520ae46a7efb30438f4fc06bf893c1df430cb1f92c48963697adaf09082", "features/cancel-and-terminate.md": "c678fc7a0c9b11f0e1bee295aff259de9803219c0aa6769fb801622799e7deb1",