> ## Documentation Index
> Fetch the complete documentation index at: https://help.teable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 計算済みOutbox

> システム管理でBullMQの配信と計算タスクのバックログを監視します。

<Tip>セルフホストのBusinessプラン以上で利用できます</Tip>

パス: システム管理 → 計算済みOutbox

数式、ルックアップ、その他の計算フィールドの値が更新されない場合や、想定より大幅に時間がかかる場合は、**計算済みOutbox**を使用します。このページには、タスク全体の稼働状態、キューを通過しているジョブ、復旧が必要な可能性のあるタスク、計算タスクが現在一時停止しているスペースが表示されます。

## 稼働状態を確認する

ページタイトルの横にあるステータスは、計算タスクに対応が必要かどうかを示します。

| ステータス  | 意味                                          |
| ------ | ------------------------------------------- |
| **正常** | 計算タスクは正常に実行されています。                          |
| **低下** | Teableが、失敗、タイムアウトしたタスク、または増加中のバックログを検出しました。 |
| **重大** | BullMQを利用できないか、タスクを処理できるワーカーがありません。         |

対応が必要な状態の場合、ページにその理由が表示されます。

## キュー内のタスクを見つける

**リアルタイムBullMQキュー**には、Teableが保持しているジョブが一覧表示されるため、特定の計算タスクを追跡したり、遅いタスクを探したりできます。

デフォルトでは各行が1つのタスクを表し、Teableによる再試行に伴って、その場で状態が変化します。タスクのすべての試行履歴を確認する場合や、遅い実行を探す場合は、**配信**に切り替えます。

一覧を絞り込むには、次の操作を行います。

* テーブル上部の状態タイルをクリックし、**待機中**、**実行中**、**遅延**、**失敗**、\*\*完了（保持）\*\*などの状態で絞り込みます。複数を同時に選択でき、タイルにカーソルを合わせると状態の意味が表示されます。
* **スペース**、**ベース**、**原因**、**結果**で絞り込むか、タスク、ベース、スペース、エラーを検索します。または最小処理時間を設定して、遅いタスクを抽出します。
* 行をクリックして**計算系統**を開きます。キューのタイムスタンプ、配信遅延、処理時間、失敗した配信のマスキング済みSQLを含む完全な失敗理由、以下で説明する伝播の詳細を確認できます。

<Info>**完了**は、タスクが処理を実行したことを意味するわけではありません。結果バッジは、配信が実際に行った内容を示します。**処理済み**はタスクを実行し、**処理なし**は実行すべき処理が残っておらず、**延期**は後で実行するよう再スケジュールし、**保留**はそのスコープが一時停止していることを意味します。**結果**フィルターは、その結果で一覧を絞り込み、各結果に含まれる配信数を表示します。そのため、**完了（保持）**と**処理済み**を組み合わせると、実際にタスクを実行した配信だけが残ります。</Info>

失敗した行は1回の配信試行の履歴であり、停止しているタスクではありません。永続タスクは自動的に再試行を続けるため、対応が必要かどうかは**台帳の状態**列で判断します。**解決済み**は後続の再試行がすでに成功したことを示し、**デッドレター**は異常メンテナンスへリンクします。解決済みの失敗はデフォルトで非表示になり、バナーに件数と表示するための操作が示されます。

**失敗履歴を消去**は、保持されている失敗ジョブのレコードだけをキューから削除します。問題は修復されず、デッドレターは**異常メンテナンス**に残ります。

状態タイルには、通常はエビクションやデータ損失の後に残る、ジョブデータがRedisに存在しないエントリも含まれることがあります。これらは一覧に表示できないため、ページのテーブル下部で差異について説明されます。Teableは、このような残存項目を失敗状態から自動的に消去します。**失敗履歴を消去**を使用すると、すぐに削除できます。

## 値が伝播した経路を追跡する

計算値が正しくない場合や反映が遅れた場合は、**計算系統**を開いて、その背後にあるチェーン全体を確認します。キュー内の任意の行をクリックするか、異常の詳細にあるタスクIDの横の**系統**をクリックします。

| セクション        | 確認できる内容                                                                                                                                                                                                                    |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 概要           | エンドツーエンドのレイテンシ、ソースが変更された日時、値が収束した日時、実行をトリガーしたテーブルとフィールド。**計算中**バッジは、チェーンがまだ実行中であることを示します。                                                                                                                                  |
| **タイムライン**   | 実行がエンキュー、開始、完了、または失敗した日時。                                                                                                                                                                                                  |
| **タスクチェーン**  | カスケード内のすべてのタスクを、エンキュー元のタスクの下に入れ子で表示し、分岐元を確認できます。各行には、状態、計画ステップ、**書き込み先**（そのタスクが更新するテーブルとフィールド）、**変更行**、カスケードの深さ、エンキュー日時、所要時間が表示されます。                                                                                       |
| **フィールドの伝播** | 実行が読み書きしたフィールドと、その間を変更がどのように伝わったかを示します。青い破線はこの書き込みにつながった起点、灰色は今回の実行では書き込まれなかった入力、緑は今回書き込まれた項目を表します。矢印はステップの順序ではなく、フィールドの依存関係またはリンク経由の移動を示します。今回の実行の書き込みへ実際に到達する起点だけが描画されます。横長のチェーンをインラインで追いにくい場合は、**展開**を使用してグラフを全画面で開きます。 |

<Info>系統台帳には、この機能の提供開始後に作成されたタスクだけが記録され、履歴は7日間保持されます。それ以前のタスクには、伝播グラフなしでキュー情報が表示されます。ワーカーがまだ計画していないシードタスクには、トリガーフィールドだけが表示されます。変更によって下流の計算書き込みが発生しなかった場合、グラフにはその旨が表示されます。数式、ルックアップ、ロールアップ、リンクタイトルを通じて、それらのフィールドに依存する項目がなかったことを意味します。</Info>

## 異常なタスクに対応する

<Info>**失敗**の件数と**異常メンテナンス**では異なる種類の問題を示すため、件数が一致しない場合があります。</Info>

**異常メンテナンス**では、ベース、ソーステーブル、エラーごとに1つの問題グループとして異常をまとめるため、単一の根本原因を簡単に特定できます。復旧を行う前に、失敗理由を確認し、根本的な問題を修正してください。グループを展開すると、エラーの詳細と対象のタスクを確認できます。これらの行は調査用であり、復旧は必ずグループ全体に対して実行されます。

グループで使用できる操作は、種類によって異なります。

| 異常の種類      | 操作                           | 実行内容                                                            |
| ---------- | ---------------------------- | --------------------------------------------------------------- |
| **デッドレター** | **グループ全体を復旧**                | そのグループに現在含まれるすべてのデッドレターを永続キューへ戻し、再配信します。他のグループには影響しません。         |
| **デッドレター** | **グループを破棄**（**その他の操作**メニュー内） | グループ内のデッドレターを完全に削除します。後から復旧または再実行できないため、再実行に意味がない場合にのみ使用してください。 |
| **タイムアウト** | **最新のタイムアウトを再開**             | グループ内で最も新しいタスクのキューを起動し、ワーカーが引き継げるようにします。                        |

グループの復旧後、Teableは復元したタスク数、新規にキューへ追加された数またはすでにキューにあった数、配信または延期された数を報告します。その後、ワーカーは現在の同時実行数とタスク分割の制限に従ってグループを処理します。

**ベース削除済み**と表示されたグループは、すでに存在しないベースに属しています。復旧してもすぐに再び失敗するため、**グループを破棄**だけを使用できます。

テーブルをゴミ箱へ移動しても、ここに異常は作成されなくなりました。ゴミ箱内のテーブルを参照している計算タスクは、そのテーブルを読み取るステップをスキップし、稼働中のテーブルを対象とするステップを完了して終了します。

サイズ制限を超える値やフィールド制約に違反する値など、データ自体が失敗の原因となった場合も復旧は使用できません。同じタスクを再実行しても同様に失敗するため、代わりにグループを破棄し、ソースデータまたはフィールド定義を修正してください。その後の書き込みによって、これらのフィールドは自動的に再計算されます。

## スペースの計算タスクを一時停止する

1つのスペースの計算タスクが障害を悪化させている場合は、インスタンス全体を停止せず、**計算タスクの一時停止**でそのスペースを一時停止します。

<Steps>
  <Step title="一時停止ダイアログを開く">**スペースを一時停止**をクリックします。</Step>
  <Step title="スペースを見つける">スペースIDまたは名前で検索し、結果から選択します。</Step>
  <Step title="時間を選択する">**一時停止時間**を15、30、60、または120分に設定します。</Step>
  <Step title="理由を記録する（任意）">**理由**に障害またはメンテナンス時間帯について記録します。</Step>
  <Step title="確認する">**一時停止を確定**をクリックします。</Step>
</Steps>

一時停止によって止まるのは、ワーカーがそのスペースの新しい計算タスクを取得する処理だけです。すでに実行中のタスクは中断されず、該当するタスクは破棄されずに一時停止の終了まで待機します。

一時停止は必ず自動的に終了し、設定できる最長時間は2時間です。障害がそれより長く続く場合は、このページからスペースを再び一時停止します。一覧には、有効な各一時停止について、作成者、理由、自動再開の日時、および有効な一時停止によって保留されているタスク数が表示されるため、再開によって解放されるバックログを判断できます。早めに解除するには、該当行の**再開**をクリックして確定します。

## 同時実行数を調整する

キューセクションには、2つの同時実行数コントロールがあります。それぞれによりクラスタ全体の上書き値が設定され、再起動せずにすべてのプロセスへ約15秒以内に反映されます。各設定をリセットすると、プロセス固有の環境設定へ戻ります。デフォルト値ではなくなったコントロールには、**上書き済み**バッジが表示されます。

| コントロール           | 制限する内容                                                                                                 |
| ---------------- | ------------------------------------------------------------------------------------------------------ |
| **プロセスごとの同時実行数** | 各ワーカープロセスが同時に処理する計算タスクの数。                                                                              |
| **ベースごとの取得上限**   | 1つのベースで同時に実行する計算タスク数（**ベースごと**）と、その中の1つのソーステーブルで同時に実行する数（**シードテーブルごと**）。どちらもデフォルトは2で、1から16までの値を指定できます。 |

1つの高負荷ベースがボトルネックの場合は取得上限を引き上げ、多数のベースが同時にキューへ入っている場合はプロセスごとの同時実行数を引き上げます。

<Warning>同時実行数を増やすと、データベースの負荷が高くなります。[データベーステナント](/ja/basic/admin-panel/database-tenant)にデータを保存しているスペースでは、接続プールが環境の値に合わせて設定されているため、取得上限には環境のデフォルト値が維持されます。</Warning>
