Skip to content

SqliteDeliveryTrackingStore

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:36

new SqliteDeliveryTrackingStore(options?): SqliteDeliveryTrackingStore

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:41

SqliteDeliveryTrackingStoreOptions = {}

SqliteDeliveryTrackingStore

close(): void

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:145

void

DeliveryTrackingStore.close


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

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:131

DeliveryTrackingRecordFilter

readonly DeliveryTrackingCountByField[]

Promise<DeliveryTrackingCountByRow[]>

DeliveryTrackingStore.countBy


countRecords(filter): Promise<number>

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

DeliveryTrackingRecordFilter

Promise<number>

DeliveryTrackingStore.countRecords


get(messageId): Promise<TrackingRecord | undefined>

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:89

string

Promise<TrackingRecord | undefined>

DeliveryTrackingStore.get


init(): Promise<void>

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:81

Promise<void>

DeliveryTrackingStore.init


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

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:97

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>

DeliveryTrackingStore.leaseDue


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

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:93

Date

number

Promise<TrackingRecord[]>

DeliveryTrackingStore.listDue


listRecords(options): Promise<TrackingRecord[]>

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:121

DeliveryTrackingListOptions

Promise<TrackingRecord[]>

DeliveryTrackingStore.listRecords


patch(messageId, patch): Promise<void>

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

string

Partial<TrackingRecord>

Promise<void>

DeliveryTrackingStore.patch


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

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:105

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>

DeliveryTrackingStore.patchLeased


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

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:113

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>

DeliveryTrackingStore.releaseLeases


upsert(record): Promise<void>

Defined in: packages/messaging/src/delivery-tracking/stores/sqlite.store.ts:85

TrackingRecord

Promise<void>

DeliveryTrackingStore.upsert