Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

リトライ処理の改善 #192

Merged
merged 22 commits into from
Dec 3, 2024
Merged
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
c0035de
JSON ではなくエラーを返す
Hexa Nov 20, 2024
d94ffaa
- リトライ時に ctx を cancel する
Hexa Nov 21, 2024
b8a17ec
エラーを返すようにする
Hexa Nov 22, 2024
da9251a
サービスへの接続が成功した時点でリトライ回数をリセットする
Hexa Nov 22, 2024
084539d
元のエラーをクライアントに送信する
Hexa Nov 22, 2024
0681e4e
リトライ待ちの間にクライアントから切断された場合に、リトライ待ちでブロックされないようにする
Hexa Nov 26, 2024
0b02fef
パケット破棄処理を関数化する
Hexa Nov 26, 2024
eea6b1f
context, cancel を分ける
Hexa Nov 26, 2024
8ae84ed
メソッドに渡す context を修正する
Hexa Nov 26, 2024
853817a
コスメ
Hexa Nov 27, 2024
fe3b43f
- Read 時の処理を channel に置き換えて処理を中断できるようにする
Hexa Nov 28, 2024
d321c2d
opus 取得から ogg への変換処理を分離する
Hexa Nov 29, 2024
a834f61
すぐに EOF にならないようにファイル読み込み完了後に待たせる
Hexa Nov 29, 2024
e250093
channel でエラーを伝搬させる
Hexa Nov 29, 2024
c6c26fb
テストの silent packet 送信までの時間を伸ばす
Hexa Nov 29, 2024
491e173
ヘッダをすぐに返す
Hexa Nov 29, 2024
42bf69a
不要なため削除する
Hexa Nov 29, 2024
9e08fa1
変更履歴を更新する
Hexa Nov 29, 2024
cb10a6c
コスメ
Hexa Dec 2, 2024
5e553b6
sleep を削除する
Hexa Dec 2, 2024
206e9e2
コメントを修正する
Hexa Dec 2, 2024
d49c28f
ログレベルを変更する
Hexa Dec 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
ヘッダをすぐに返す
  • Loading branch information
Hexa committed Nov 29, 2024
commit 491e173e07d2bb62955aebfa1896106143802831
5 changes: 2 additions & 3 deletions handler.go
Original file line number Diff line number Diff line change
@@ -105,6 +105,7 @@ func (s *Server) createSpeechHandler(serviceType string, onResultFunc func(conte

c.Response().Header().Set(echo.HeaderContentType, echo.MIMEApplicationJSON)
// すぐにヘッダを送信したい場合はここで c.Response().Flush() を実行する
Hexa marked this conversation as resolved.
Show resolved Hide resolved
c.Response().Flush()

ctx := c.Request().Context()
// TODO: context.WithCancelCause(ctx) に変更する
@@ -170,7 +171,6 @@ func (s *Server) createSpeechHandler(serviceType string, onResultFunc func(conte
retry:
select {
case <-retryTimer.C:
retryTimer.Stop()
zlog.Info().
voluntas marked this conversation as resolved.
Show resolved Hide resolved
Err(err).
Str("channel_id", h.SoraChannelID).
@@ -189,7 +189,6 @@ func (s *Server) createSpeechHandler(serviceType string, onResultFunc func(conte
Str("channel_id", h.SoraChannelID).
Str("connection_id", h.SoraConnectionID).
Msg("retry interrupted")
cancelServiceHandler()
// リトライする前にクライアントとの接続でエラーが発生した場合は終了する
return fmt.Errorf("%s", "retry interrupted")
}
@@ -478,7 +477,7 @@ func opus2ogg(ctx context.Context, opusCh chan opusChannel, sampleRate uint32, c
return
case opus, ok := <-opusCh:
if !ok {
oggWriter.CloseWithError(fmt.Errorf("channel closed1"))
oggWriter.CloseWithError(io.EOF)
return
}