owned_ossActive
背景
外部APIを大量に呼び出す必要があるプロジェクトで、レート制限に引っかからないようにしながら効率的に処理する方法を探していました。Promise.all() だと全部同時に実行されてレート制限に引っかかるし、for...of で順次処理すると時間がかかりすぎます。
具体的には、AWSのCloudFrontを一括更新するスクリプトを作る際に、この問題の解決策が必要になりました。「N件ずつ並列で処理して、終わったら次のN件に進む」という処理パターンが欲しくなり、開発することに。当初は逐次処理のみのライブラリでしたが、現在はNode.js側のAPIで対応できる部分も増えたため、Chunk作成とバッチ処理の実施の2点にフォーカスしたライブラリへとリニューアルしています。
アーキテクチャ
- TypeScript: 型安全性を重視
- Vite: ビルドツール
- Vitest: テストフレームワーク
- TypeDoc: APIドキュメント生成
- Zero Dependencies: 依存関係なしで軽量
