OperationsJob — @gj-kit/nest-operations-jobs
@gj-kit/nest-operations-jobs/core에서 공개하는 interface입니다. package version 0.1.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { OperationsJob } from '@gj-kit/nest-operations-jobs/core';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * Operations job contract. A job owns business logic only — authentication, * overlap prevention, timeouts, run records and logging belong to the runner. * * Returning a summary whose `ok` is exactly `false` marks the run FAILED while * preserving the summary, so an external scheduler retries and alerting fires. * Any other value of `ok` (including `0`, `''`, `undefined`) is a success. */interface OperationsJob<Input = void> { /** Unique key shaped `domain.action`, lower-case and hyphenated, at most 100 chars. */ readonly key: string; readonly description: string; /** Absent means the job takes no input; a non-empty request body is then rejected. */ readonly inputSchema?: JobInputValidator<Input> | undefined; /** Defaults to {@link DEFAULT_JOB_TIMEOUT_MS}. */ readonly timeoutMs?: number | undefined; /** * Defaults to `'forbid'`: a second trigger while one run holds the key is SKIPPED. * * Overlap prevention buys liveness with a bounded safety gap: a runner that is * stalled rather than dead has its row reaped, and a second body then starts. * The window is one heartbeat interval plus the job's abort reaction time, and * while the store itself is unreachable it widens to `staleRunAfterMs` plus * that reaction time. Only the job's own domain-level idempotency closes it. */ readonly overlapPolicy?: JobOverlapPolicy | undefined; /** Documentation and scheduler-sync metadata only. `null` means "no declared cron". */ readonly schedule?: JobSchedule | null | undefined; /** Defaults to true. False means an external non-HTTP trigger owns this schedule. */ readonly schedulerHttpSync?: boolean | undefined; run(input: Input, context: OperationsJobContext): Promise<JobSummary | void>;}이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/nest-operations-jobs - 버전:
0.1.1 - 공개 entry:
./core - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”Operations job contract. A job owns business logic only — authentication, overlap prevention, timeouts, run records and logging belong to the runner.
Returning a summary whose ok is exactly false marks the run FAILED while
preserving the summary, so an external scheduler retries and alerting fires.
Any other value of ok (including 0, '', undefined) is a success.