Skip to content

Documentation


Documentation / @kizami/db / index / recordWorkerHeartbeat

Function: recordWorkerHeartbeat() ​

recordWorkerHeartbeat(db, params): Promise<void>

Defined in: packages/db/src/queries/observability.ts:75

ワーカーの心拍を記録する(無ければ作り、あれば更新する)。

success_count / failure_count は単調増加させる(Prometheus の counter 規約。 schema/worker-heartbeats.ts の冒頭コメント参照)。

判断点: UPSERT(onConflictDoUpdate + SQL 式でのインクリメント)ではなく 「読んで、あれば UPDATE / 無ければ INSERT」にしている。ワーカーは単一プロセスで 競合しないため原子性が要らず、この形なら SQLite / PostgreSQL / D1 のいずれでも 同じ SQL 生成で動くことが自明になる(ダイアレクト依存の DO UPDATE 構文を避ける)。

Parameters ​

db ​

Database | SQLiteTransaction<"async", ResultSet, schema, ExtractTablesWithRelations<schema>>

params ​

RecordWorkerHeartbeatParams

Returns ​

Promise<void>