Questetra BPM Suite の外からケースを開始する(連続起動に関する注意)

メッセージ開始イベント(HTTP / Webhook)または REST API を使って複数のケースを自動起動する場合、HTTP リクエストは直列(逐次)で送信してください。


並列送信は避ける

複数のリクエストを同時に送信するのではなく、1つ前のリクエストのレスポンスを受け取ってから次のリクエストを送信してください。

リクエスト1 → レスポンス受信 → リクエスト2 → レスポンス受信 → リクエスト3 → …

複数スレッドや非同期処理で同時にリクエストを送信する実装は避けてください。


なぜ並列送信は問題なのか

ケース起動時には、ケース番号(連番)の採番処理が行われます。この処理は同時並行で実行できない仕様のため、複数のリクエストが同時に到達しても内部では1件ずつ順番に処理されます。そのため、並列に送っても処理は速くなりません。

先行する処理が完了するまで、後続のリクエストは HTTP コネクションを掴んだまま待機するだけになり、リソースを無駄に消費します。待機中のリクエストが HTTP コネクションを占有し続けることで、同一環境上で操作している他のユーザーのレスポンスが遅くなるなどの影響が生じる可能性があります。


件数制限について

HTTP リクエストによるケース起動に明示的な件数制限はありません。ただしハードウェアおよびネットワークのパフォーマンスに依存するため、短時間に無制限に大量のケースを起動できるわけではありません。


関連記事