콘텐츠로 이동

RelayClaimRequest — @gj-kit/nest-notifications

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

import { RelayClaimRequest } from '@gj-kit/nest-notifications';
interface RelayClaimRequest {
readonly applicationKey: string;
readonly limit: number;
/**
* From the injected clock. Recorded verbatim on completion stamps and passed to
* the policy (R9). It is NOT the input to the staleness comparison - see
* `claimStaleMs`.
*/
readonly at: Date;
/**
* A duration, deliberately not an instant. The store decides staleness on its
* own clock (`claimedAt < now() - claimStaleMs`, R12): with N workers there are
* N process clocks, and the only clock they share is the store's.
*/
readonly claimStaleMs: number;
/**
* Skip rows already attempted this many times. Absent means no bound, which
* lets a permanently failing row occupy the due page forever (R13, design 7-16).
*
* The predicate is `attempts < maxAttempts` and nothing else: there is no
* cooldown column and no `retryAfter` field on this request or on
* {@link RelayReleaseRequest}, because retry timing has exactly one owner and
* it is the host's scheduler (design 0.4-7). A released row is therefore due
* again on the very next pass, so this bound is a pass count, not a duration.
*/
readonly maxAttempts?: number | undefined;
/** Opaque token this worker writes onto every row it wins. */
readonly claimToken: string;
}

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

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