Operations reference#
パイプラインエラーログ機能のリファレンス。ガイドスタイルのドキュメントについては、 Pipeline error log を参照してください。
エラーログファンクション#
各パイプラインは、{source_schema}.pipeline_{pipeline_name}_errors
でエラーログテーブルを維持します。これらの機能は、そのログを照会および管理するための一貫したインターフェイスを提供します。
promoteb.get_error_logs#
オプションのフィルターを使用して、パイプラインのエラーログエントリを結果ます。
パラメーター#
Parameter |
Type |
Default |
Description |
|---|---|---|---|
p_pipeline_name |
TEXT |
Required |
パイプラインの名前。 |
p_source_id |
TEXT |
NULL |
特定のソースレコードIDにフィルターします。 |
p_pipeline_step |
SMALLINT |
NULL |
特定のパイプラインステップ番号にフィルターします。 |
p_error_category |
NULL |
カテゴリによるフィルター RecordTemporary、RecordPermanent、PipelineTemporary、または`PipelinePermanent` |
|
p_limit |
INTEGER |
NULL |
返される行の最大数。 |
p_offset |
INTEGER |
NULL |
スキップする行数ページネーションの場合。 |
返品#
Column |
Type |
Description |
|---|---|---|
id |
bigint |
エラーログエントリID |
source_id |
text |
失敗したソースレコード |
part_ids |
bigint[] |
部分識別子チャンクレコードの場合 |
pipeline_step |
smallint |
障害が発生したステップ番号 |
step_operation |
オペレーション名 例 ParsePdf、ChunkText |
|
error_message |
text |
エラーの説明 |
error_category |
エラーカテゴリ |
|
failed_at |
timestamptz |
障害のタイムスタンプ |
retry_count |
integer |
リトライ試行回数 |
last_retry_at |
timestamptz |
前回の再試行のタイムスタンプ |
last_seen_at |
timestamptz |
このエラーが最後に発生したタイムスタンプ。繰り返しのたびに更新します。 `failed_at`は、最初に出現したときに固定されたままです。 |
例#
- - All errors for a pipeline
SELECT * FROM aidb.get_error_logs(my_pipeline);
- - Filter by source record
SELECT * FROM aidb.get_error_logs(my_pipeline, p_source_id => doc_42);
- - Filter by step and category
SELECT * FROM aidb.get_error_logs(
my_pipeline,
p_pipeline_step => 1::SMALLINT,
p_error_category => RecordPermanent
);
- - Paginate
SELECT * FROM aidb.get_error_logs(my_pipeline, p_limit => 20, p_offset => 40);
helpb.get_error_log_summary#
単一のパイプラインの集計エラー数をステップ、オペレーション、およびカテゴリごとにグループ化して返します。
パラメーター#
Parameter |
Type |
Description |
|---|---|---|
p_pipeline_name |
TEXT |
パイプラインの名前。 |
返品#
Column |
Type |
Description |
|---|---|---|
pipeline_step |
smallint |
ステップ番号 |
step_operation |
オペレーション名 |
|
error_category |
エラーカテゴリ |
|
error_count |
bigint |
このグループのエラーの数 |
latest_failed_at |
timestamptz |
最新の障害のタイムスタンプ |
例#
SELECT * FROM aidb.get_error_log_summary(my_pipeline);
__OUTPUT__
pipeline_step | step_operation | error_category | error_count | latest_failed_at
- --------------+----------------+-----------------+-------------+----------------------------
1 | ParsePdf | RecordPermanent | 2 | 2026-04-10 14:31:58.456+00
2 | ChunkText | RecordPermanent | 1 | 2026-04-10 14:32:01.123+00
(2 rows)
promoteb.get_all_error_summaries#
aidb.get_error_log_summary()
と同じロールアップを返しますが、一度にすべてのパイプラインを返します。
返品#
Column |
Type |
Description |
|---|---|---|
pipeline_name |
text |
パイプライン名 |
pipeline_step |
smallint |
ステップ番号 |
step_operation |
オペレーション名 |
|
error_category |
エラーカテゴリ |
|
error_count |
bigint |
このグループのエラーの数 |
latest_failed_at |
timestamptz |
最新の障害のタイムスタンプ |
例#
SELECT * FROM aidb.get_all_error_summaries();
__OUTPUT__
pipeline_name | pipeline_step | step_operation | error_category | error_count | latest_failed_at
- --------------+---------------+----------------+-------------------+-------------+----------------------------
my_pipeline | 1 | ParsePdf | RecordPermanent | 2 | 2026-04-10 14:31:58.456+00
pdf_ingester | 1 | ParsePdf | PipelinePermanent | 1 | 2026-04-10 15:00:12.000+00
(2 rows)
promoteb.clear_error_logs#
IDに基づいて特定のエラーログエントリを削除します。クリアする前にaidb.get_error_logs()
でエントリを確認します。
パラメーター#
Parameter |
Type |
Description |
|---|---|---|
p_pipeline_name |
TEXT |
パイプラインの名前。 |
p_error_ids |
BIGINT[] |
削除するエラーログエントリIDの配列。 |
返品#
BIGINT — 削除された行数。
例#
SELECT aidb.clear_error_logs(my_pipeline, ARRAY[1, 3]);
__OUTPUT__
clear_error_logs
- -----------------
2
(1 row)
promoteb.requeue_pipeline_errors#
5.0で導入されました。ターゲットのレコードレベルのエラーログエントリを削除し、パイプラインの状態サーフェスでソースレコードをダーティとしてマークします。次の通常の実行で再処理されます。呼び出し自分自身は処理を行いません。ワークフローについては、 失敗したレコードの再キューイング を参照してください。
パラメーター#
Parameter |
Type |
Description |
|---|---|---|
p_pipeline_name |
TEXT |
パイプラインの名前。 |
p_error_ids |
BIGINT[] |
再キューイングするエラーログエントリIDの配列。 |
返品#
入力IDごとに1行、昇順 error_id 。
Column |
Type |
Description |
|---|---|---|
error_id |
bigint |
入力配列のエラーログエントリID。 |
action |
text |
requeued、skipped_pipeline_level、または`not_found` 以下を参照してください。 |
requeuedレコードレベルの行が削除され、ソースがダーティとしてマークされました。テーブルソースは状態イベントをエンキューします。ボリュームソースは、ワンショットのretry_requested_atマーカーを設定します。skipped_pipeline_levelエントリーにはNULLsource_idがあり、そのまま残されます。根本的な問題を修正して再実行するか、aidb.clear_error_logsで却下します。not_foundIDがエラーログに存在しない、またはパイプラインにエラーログテーブルがありません。
重複するIDのコンカレント・リキューは、行ごとのFOR UPDATE
ロックでシリアル化されます。重複しないIDセットは並列的に処理されます。バックグラウンドパイプラインは、次のワーカーティックに再キューイングされた行を自動的にドレインします。無効またはライブパイプラインには、フォローアップのaidb.run_pipeline
呼び出しが必要です。
例#
SELECT * FROM aidb.requeue_pipeline_errors(my_pipeline, ARRAY[1, 2, 99]);
__OUTPUT__
error_id | action
- ---------+------------------------
1 | requeued
2 | requeued
99 | not_found
(3 rows)
エラーカテゴリ#
Category |
Scope |
Blocks pipeline? |
Description |
|---|---|---|---|
RecordTemporary |
Single record |
No |
1つのレコードの一時的な障害。再試行で成功する場合があります。 |
RecordPermanent |
Single record |
No |
1つのレコードの永続的な障害たとえば、破損したデータ。 |
PipelineTemporary |
Entire step |
Yes |
ステップを停止した一時的な障害たとえば、サービスの停止。再試行で解決される場合があります。 |
PipelinePermanent |
Entire step |
Yes |
ステップを停止した永続的な障害たとえば、無効なモデル構成。 |