콘텐츠로 이동

JobRunner — @gj-kit/nest-operations-jobs

@gj-kit/nest-operations-jobs/core에서 공개하는 interface입니다. package version 0.1.1의 release declaration을 그대로 표시합니다.

import { JobRunner } from '@gj-kit/nest-operations-jobs/core';
interface JobRunner {
/**
* Run one job end to end.
*
* Throws only when this runner will not finalise a row: unknown key
* (`ERR_JOB_UNKNOWN`), rejected input (`ERR_JOB_INPUT_INVALID` /
* `ERR_JOB_INPUT_UNEXPECTED`), a caller signal that was already aborted before
* the run started (`ERR_JOB_ABORTED`) or a store failure while claiming
* (`ERR_JOB_STORE`). The first three leave no row at all; a claim that committed
* before its response was lost can leave an orphan RUNNING row that the next
* reap settles. Every outcome that ran the body — including failure and
* timeout — is returned, never thrown, with `recorded` saying whether the
* stored row agrees with the returned `status`.
*/
execute(jobKey: string, body: unknown, trigger: JobTrigger, options?: JobExecuteOptions): Promise<JobExecutionResult>;
/**
* Abandon stale RUNNING rows across every key, using the runner's
* `staleRunAfterMs`. For a host-owned sweeper job: `execute` only reaps around
* the key it is about to claim, so a job that is never triggered again needs
* this to release its orphaned rows.
*
* A store failure raises `ERR_JOB_STORE`, like every other store call in this
* package — the driver's own error never escapes.
*/
reapStaleRuns(options?: {
readonly limit?: number | undefined;
}): Promise<number>;
}

이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.

  • 패키지: @gj-kit/nest-operations-jobs
  • 버전: 0.1.1
  • 공개 entry: ./core
  • 소스: GitHub