Skip to content

CallBridgeのWebSocket Hibernation対応を検討する #905

Description

@owk-owk130

背景

PR #809で追加したCallBridgeは、Web標準のWebSocket API(server.acceptとaddEventListener)を使用している。この方式ではWebSocket接続中のDurable Objectがメモリに保持され、接続時間全体がDuration課金の対象になる。

Phase 0では実装の単純さを優先して現状のままとし、本番運用で同時通話数や無音時間が増えた段階でWebSocket Hibernation APIの費用対効果を検討する。

検討内容

  • ctx.acceptWebSocketとwebSocketMessage/webSocketCloseへの移行
  • 休止・再起動後に必要な通話状態(認証済み情報、発信元、チューニング設定、検索slotなど)の保存・復元方法
  • タイマー、進行中ターン、interrupt処理への影響確認
  • 通話中のメッセージ頻度を踏まえ、実際に休止可能な時間と削減できるDurationを計測
  • ConversationRelayとの接続が休止・再起動をまたいで維持されることの検証

完了条件

  • Hibernation導入によるコスト削減効果を計測できている
  • 導入する場合、休止後も通話状態と会話が継続する
  • setup、prompt、interrupt、切断の回帰テストがある
  • 効果が小さい場合は、導入しない判断と計測結果を記録する

対象外

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions