콘텐츠로 이동

DeliveryTrackingStore

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:125

optional close(): void | Promise<void>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:173

void | Promise<void>


optional countBy(filter, groupBy): Promise<DeliveryTrackingCountByRow[]>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:168

DeliveryTrackingRecordFilter

readonly DeliveryTrackingCountByField[]

Promise<DeliveryTrackingCountByRow[]>


optional countRecords(filter): Promise<number>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:167

DeliveryTrackingRecordFilter

Promise<number>


get(messageId): Promise<TrackingRecord | undefined>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:128

string

Promise<TrackingRecord | undefined>


init(): Promise<void>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:126

Promise<void>


optional leaseDue(now, limit, leaseUntil): Promise<TrackingRecord[] | undefined>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:138

Like listDue, but also leases the records it returns: in the same atomic step their nextCheckAt moves to leaseUntil, so other pollers of the store skip them until the poll stores their next check or the lease runs out. It resolves undefined when this store cannot lease atomically. DeliveryTrackingService leases only with a store that has both this and patchLeased, and otherwise uses listDue.

Date

number

Date

Promise<TrackingRecord[] | undefined>


listDue(now, limit): Promise<TrackingRecord[]>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:129

Date

number

Promise<TrackingRecord[]>


optional listRecords(options): Promise<TrackingRecord[]>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:166

DeliveryTrackingListOptions

Promise<TrackingRecord[]>


patch(messageId, patch): Promise<void>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:172

string

Partial<TrackingRecord>

Promise<void>


optional patchLeased(messageId, leaseUntil, patch): Promise<boolean>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:150

Applies patch only while the record is still leased until leaseUntil (its nextCheckAt equals it), and resolves whether it did. The check and the write are one atomic step, as in leaseDue. A poll stores its results this way, so one that ran past its lease cannot overwrite what another poll stored since.

string

Date

Partial<TrackingRecord>

Promise<boolean>


optional releaseLeases(messageIds, leaseUntil, nextCheckAt): Promise<void>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:161

Hands back leases a poll did not finish: moves nextCheckAt to the given time on those records whose nextCheckAt is still leaseUntil. A record another poll has leased since is left alone. Without it, DeliveryTrackingService lets such leases run out.

readonly string[]

Date

Date

Promise<void>


upsert(record): Promise<void>

Defined in: packages/messaging/src/delivery-tracking/store.interface.ts:127

TrackingRecord

Promise<void>