[bug]: speech recognize --timeout 未作用于临时 OSS 上传(固定 120 秒)
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 82/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- node.js, typescript
調査の方向性
packages/core/src/client/client.tsから始めて、アップロードオプションをresolveFileUrl()経由でpackages/core/src/files/upload.tsとuploadToOSS()まで追ってください。既存のアップロードテストを確認するか、指定されたタイムアウトと、指定がない場合の120秒のデフォルト値を対象とするテストを追加してください。OSSファイルのアップロードが設定されたタイムアウトに従い、認証情報の取得では別個の15秒制限が維持されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
我在排查录音转写的超时问题时,发现 speech recognize --timeout 没有传到临时 OSS 文件上传这一步。上传仍固定等待120秒,而报错提示会建议增大 --timeout,因此调整这个参数对上传阶段没有效果。
已搜索现有 Issue,并核对官方 v2.1.0 和当前 main 的实现,相关代码一致。
环境
- BL、core、commands、runtime:2.1.0
- Node.js:v24.21.0
- Windows 11 x64,北京地域
问题位置
-
packages/core/src/client/client.ts的Client.uploadFile()调用resolveFileUrl()时没有传入有效配置中的settings.timeout:return resolveFileUrl(source, this.requireApi().token, model, { ...opts, identity: this.deps.identity, }); -
packages/core/src/files/upload.ts的uploadToOSS()则直接使用固定计时器:const uploadSignal = combineWithTimeout(120_000, signal);
因此,即使 CLI 指定 --timeout 3600,OSS 上传也不会使用这个值;上传耗时超过120秒时仍会被中止。
建议修改
沿现有调用链传递 timeout 即可:
- 在
Client.uploadFile()的上传选项中加入timeout: this.deps.settings.timeout。 - 在
resolveFileUrl()的选项类型及UploadOptions中增加等待秒数,并经uploadFile()传入uploadToOSS()。 - 将 OSS 上传计时器改为
combineWithTimeout(timeout * 1000, signal)。直接调用 SDK 且未传 timeout 时,可以保留原有120秒默认值。
获取上传凭证的15秒计时器与文件上传是两个阶段;本次建议针对实际文件上传。
本机核对结果
用合成凭据及模拟响应记录原生计时器:设置 timeout: 1 时,原版的文件上传计时器仍为120000毫秒。按上述方式透传后变为1000毫秒。另用延迟上传合约核对,一秒设置下300毫秒上传可完成,0.1秒设置下会按时中止。
希望文件上传也能遵循已解析的 timeout,让参数和超时提示的行为一致。
- 主要言語
- TypeScript
- スター
- 527
- フォーク
- 33
- 平均マージ
- 6時間 11分
- マージ済み PR(30日)
- 26
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelstudioai/cli のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
modelstudioai/cli#242 ·
メンテナーはふだん 1 日以内に返信
-
[bug] vision describe: default base URL is the Coding Plan endpoint → HTTP 404 for all VL/OCR modelsオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
modelstudioai/cli#241 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[bug] bl update: darwin-arm64 binary ships invalid ad-hoc signature, killed by macOS (Killed: 9)オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
modelstudioai/cli#223 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
modelstudioai/cli#240 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 57/100
modelstudioai/cli#239 ·
メンテナーはふだん 1 日以内に返信
modelstudioai/cli の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
apache/rocketmq-dashboard#6610 ·
メンテナーはふだん 3 日以内に返信
-
nextjs-tracking
難易度 2/5 1〜3時間 初心者へのやさしさ 69/100
cloudflare/vinext#3920 ·
メンテナーはふだん 1 日以内に返信
-
Team:Dashboards
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
elastic/kibana#297299 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
analytics beginner friendly community contributions-welcome good first issue hacktoberfest help wanted up-for-grabs
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
affected/v17 affected/v18 area/frontend type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
umbraco/Umbraco-CMS#24186 ·
メンテナーはふだん 2 日以内に返信