テック技報最新号へ →
インフラ

Cloudflare Workers: ランタイム更新時の grace period が最大 20 分に

Workers ランタイムの更新中、進行中の HTTP / ストリーム / WebSocket を切るまでの猶予が「最大 30 秒」から「最大 20 分」になった。長い応答やライブ接続が途中で切れにくくなるが、再接続設計は依然必須。

@CFchangelog · 投稿 2026-10-12
#infra#cloudflare#workers#websocket#reliability

どんなときに使う?

  • ストリーミング AI 応答や長時間 HTTP が、ランタイム更新のタイミングで突然切れる
  • ライブ WebSocket セッションの切断が多すぎる
  • 「更新時に何が起きるか」をアプリ設計に織り込みたいとき

やり方(挙動の理解)

  1. 新しいランタイムが ready になると、新規 HTTP リクエストは更新後のバージョンへ行く
  2. 旧バージョンのプロセスは新規受付を止め、進行中の仕事を drain する
  3. 各旧プロセスに 最大 20 分(以前は最大 30 秒)の grace period がある。終わると未完了リクエストや接続は終了させられる
  4. アプリ側は次を前提にする:
    • WebSocket の再接続
    • 中断したリクエストの安全なリトライ
    • 再起動後の状態復元

注意点

  • 「20 分保証」ではない。更新途中に巻き込まれた接続は残り時間だけ、ということもある
  • WebSocket(Hibernation API 含む)は grace period 終了前に切れることがある。再接続ロジックは省略しない
  • これは Cloudflare 側のランタイム更新の話であり、自分の Worker デプロイの段階的ロールアウト設定とは別

出典

X の元の投稿を開く