Skip to content

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

A public interface from @gj-kit/nest-operations-jobs. The signature below is taken directly from the 0.1.1 release declaration.

import { JobRunner } from '@gj-kit/nest-operations-jobs';
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>;
}

This declaration is the source of truth for parameters, optionality, generics, return values, and public union/type contracts. Check the package golden path and this subpath’s import conditions for required environment, permission, and error boundaries before calling it.

  • Package: @gj-kit/nest-operations-jobs
  • Version: 0.1.1
  • Public entry: .
  • Source: GitHub