github Rumia-Channel/narou.rs v0.6.2

3 hours ago

本番 D1 の SQL 最適化

Cloudflare Workers の一覧・キュー表示とジョブ実行に伴う、不要な行の読み取りを削減しました。

  • キュー件数: 終了済みジョブの全履歴をポーリングのたびに集計せず、ジョブの追加・状態遷移・削除と同じトランザクションで更新する集計表を参照します。件数の意味や履歴の保持は変更しません。
  • バーチャル小説の属性再計算: メンバー ID から作品を引く実行計画に変更し、無関係な漫画作品まで走査するのを防ぎました。混在時の選択や変更の即時反映は従来どおりです。
  • 待機再開・実行開始の作品照合: URL・N コード・URL suffix の対応表を毎回組み立てず、永続索引を利用します。複数一致時の最小 ID、同一サイト・同一作品の排他は維持します。

リリース時の適用

本番配備の検証成功後、CI が D1 migration 0017_worker_job_counts.sql と 0018_novel_target_aliases.sql を適用し、成功してから新しい Worker を配備します。migration が失敗した場合は配備を中止します。既存の作品・本文・ジョブ履歴を削除する処理はありません。手動配備でも同じ順序で適用してください。Native の SQLite にこの D1 migration を適用する必要はありません。

その他の修正

  • narou api delete <ID> で、- や -- から始まるトークン ID をオプションとして誤認する不具合を修正しました。保存形式や既存の ID は変わりません。
  • Cloudflare Access の Service Token を Authorization ヘッダ 1 つでも渡せるようにしました。従来のヘッダ対も引き続き使えます。
  • Worker の MCP エンドポイントに POST 以外でアクセスした場合、405 の JSON エラーを返すようにしました。

v0.6.1 は公開前の検証で中止したため、SQL 最適化と CLI 修正を v0.6.2 にまとめています。

詳細: 変更履歴 / v0.6.0 からの全変更

Don't miss a new narou.rs release

NewReleases is sending notifications on new releases.