JavaScript でバッチ実行を少しでも楽にしたいという思いで作ってみた。
まだバージョン 0.7.0 だけど、大体のことは出来るはず。
機能
デモ を触ると大体何ができるかわかると思います。
- 実行間隔の指定
- 同時実行数の制限
- リトライ数の指定
- リトライ間隔の調整
- 失敗したリクエストの返却
動機
DynamoDB への書き込み時に流量を制御しようと色々していて、 Promise が不便だと思った。SDK でもなんか色々パラメータがあると後から知ったのだけど、まぁ Promise が便利になるのに越したことはないということで。もちろん既存のライブラリも沢山探したけど、しっくりくるのが無かった => 作ろう。
API に関しては、シリアライズ可能なデータとしてのリクエストの配列を受け取るようにして、失敗した時に情報を保存したり渡したりできるようにしている。リクエストの数はそんなに多くない想定なので、ストリームで読みつつ書き込むみたいな処理は今の所ない。
今後
やる気が持続すれば付くかもしれない機能。
- バックオフのもう少し緻密な設定
- タイムアウトの設定
- ログ埋め込みの仕組み
- 入力バリデーションエラー
それでは良い Promise ライフを!