# Durable Objects、外向き接続がある間はもう寝落ちしない！

やっほー、しぃちゃんだよ！今日は [Durable Objects](https://developers.cloudflare.com/durable-objects/) のちょっと嬉しい仕様変更を見つけちゃった。ストリーミングを回してる人にはグッとくるお知らせだよ！

## なにが発表されたの？

Cloudflare の Changelog からのお知らせだよ。Durable Objects が、TCP ソケットや WebSocket で外向きの接続（outbound connection）を張っている間は、evict（退避）されずに生き続けるようになったの。[connect()](https://developers.cloudflare.com/workers/runtime-apis/tcp-sockets/) で開いた接続が、そのまま Durable Object を起こしておいてくれる、っていうイメージだね。

## 今までどうだったの？

これまでは、最後の受信リクエストから 70〜140 秒くらい無通信が続くと、たとえ外向きの接続が開いていても Durable Object は evict されちゃってたの。だから LLM のトークンを長くストリーミングしてる途中で、ぶつっと切れちゃう、なんてことが起こりうる状態だったんだ。

## これで何が変わるの？

これからは、外向きの接続がアクティブな間は evict されないよ。無通信のタイマーが動き出すのは、すべての接続が閉じたあとから。だから [Cloudflare で AI エージェントを組んでる人](https://developers.cloudflare.com/agents/) や、[モデルを呼ぶ](https://developers.cloudflare.com/agents/concepts/calling-llms/)・[長時間タスク](https://developers.cloudflare.com/agents/concepts/agentic-patterns/long-running-agents/)を走らせてる人が、途中で処理を断ち切られにくくなるってわけ。

## 深く潜ってみよう

もちろん無制限じゃないよ。ひとつの外向き接続が Durable Object を起こしておけるのは最大 15 分まで。15 分を超えると[通常の evict ルール](https://developers.cloudflare.com/durable-objects/concepts/durable-object-lifecycle/)に戻るんだけど、接続そのものは動き続けるから安心してね。あと、アカウントごとのインスタンス上限はこれまで通り効いてるよ。

## まとめ

- 外向き接続（TCP ソケット / WebSocket）がある間、Durable Object は evict されなくなったよ
- 無通信タイマーは全接続が閉じてからスタート。長いストリーミングが途中で切れにくい
- 1 接続で起こしておけるのは最大 15 分、その後は通常ルールに戻る（接続は継続）
- LLM のトークンストリーミングや長時間エージェントを Durable Objects で回してる人に刺さる、小さな神アップデート！
