# プールのユースケース

ここでは、よくある 2 つの課題に対してプールとプールルールを組み合わせる方法を示します。

## ユースケース 1: 重要なワークフロー向けにスロットを確保する

Audience ワークフローと Journey ワークフローは通常、アクティベーションの前に実行する必要があり、アドホックなワークフローによって妨げられてはなりません。これらの重要なワークフロータイプ専用のプールを作成して、常にスロットが利用可能な状態にしておきます。

**プール:**


```json
{
  "name": "critical_workflows",
  "concurrencyLimit": 100
}
```

API がこのプールに対して `id: "1"` を返すとします。

**ルール:**


```json
{
  "priority": 10,
  "poolId": "1",
  "conditions": [
    {"type": "workflow_type", "values": ["audience", "customer_journey"]}
  ]
}
```

この設定により、起動タイプにかかわらず、すべての Audience ワークフローと Journey ワークフローが critical_workflows プールに割り当てられます。このプールの 100 スロットが他のワークフローに使われることはありません。

## ユースケース 2: 問題のあるワークフローを隔離する

ある特定のワークフローが外部のエラーにより想定よりもはるかに長く実行され続け、デフォルトプールを埋め尽くしているとします。上流のエラーが解消されれば正常に終了するため、強制的に停止させたくはありません。他の作業を妨げないように、小さな隔離用プールに移しましょう。

**プール:**


```json
{
  "name": "penalty_box",
  "concurrencyLimit": 10
}
```

API がこのプールに対して `id: "2"` を返すとします。

**ルール:**


```json
{
  "priority": 10,
  "poolId": "2",
  "conditions": [
    {"type": "workflow_name", "operator": "starts_with", "values": ["external_"]}
  ]
}
```

このルールが設定された後、ワークフロー名が `external_` で始まる、新規に作成されるすべてのアテンプトは penalty_box プールに割り当てられ、並行実行は最大 10 件に制限されます。他のワークフローには影響しません。

実行中のアテンプトには影響しません
プールの割り当ては、アテンプトが作成された時点で確定します。すでに実行中のアテンプトは、ルールを追加してもそのまま元のプールに留まります。

penalty_box プールは事前に作成しておく
プールを作成するには、デフォルトプールに新しいプールの並行実行数の上限以上の空きスロットが必要です。デフォルトプールに余裕があるうちに penalty_box のような隔離用プールを事前に作成しておけば、必要なときにすぐ問題のあるワークフローを移動できます。

## 関連トピック

- [プールを管理する](/ja/products/customer-data-platform/data-workbench/workflows/pool/managing-pools)
- [プールルールを管理する](/ja/products/customer-data-platform/data-workbench/workflows/pool/managing-pool-rules)
- [アテンプトのキューイング](/ja/products/customer-data-platform/data-workbench/workflows/pool/attempt-queueing)