バッチ処理の同期/非同期はバッチサイズしきい値で分け、小バッチは同期を優先する
設計判断
UX
非同期処理
バッチ処理
判断
原則
レコード一括更新のような処理で、件数しきい値(例: 1000件以内は同期、1001件以上はワーカー非同期)で同期/非同期を分ける設計判断。
非同期ワーカー処理は「終わったかどうかはリロードするまで分からない」体験になり、即時の完了フィードバックを失う UX コストがある。そのため、カジュアルに数件を繰り返し更新するような小バッチは、レスポンスタイムが待てる範囲内なら同期処理の方が体験が良い。大バッチはレイテンシが許容不可なので非同期に回す。
判断軸は「処理時間が同期で許容できるか」と「即時完了フィードバックの UX 価値」。しきい値の上下で体験の質が変わる点を設計判断の根拠にする。