Skip to main content

Class: SqlJobStore

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:405

Postgres dispatch jobs with atomic leases and holder-checked writes.

Implements​

Constructors​

Constructor​

new SqlJobStore(opts): SqlJobStore

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:408

Checks the adapter capabilities and prefix without creating tables.

Parameters​

opts​

SqlStoreOptions

Returns​

SqlJobStore

Methods​

cancel()​

cancel(runId): Promise<"cancelled" | "already_dispatched" | "missing">

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:453

Cancels a pending job or reports that the caller must leave an already dispatched bot.

Parameters​

runId​

string

Returns​

Promise<"cancelled" | "already_dispatched" | "missing">

Implementation of​

IJobStore.cancel


get()​

get(runId): Promise<MeetingJob | undefined>

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:463

Reads one dispatch job.

Parameters​

runId​

string

Returns​

Promise<MeetingJob | undefined>

Implementation of​

IJobStore.get


lease()​

lease(holder, now, ttlMs): Promise<MeetingJob | undefined>

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:420

One statement: the row is locked, skipped by any other taker, and leased in the same UPDATE.

Parameters​

holder​

string

now​

number

ttlMs​

number

Returns​

Promise<MeetingJob | undefined>

Implementation of​

IJobStore.lease


listDispatched()​

listDispatched(): Promise<MeetingJob[]>

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:468

Lists the dispatched jobs reconciliation compares with provider usage.

Returns​

Promise<MeetingJob[]>

Implementation of​

IJobStore.listDispatched


markDispatched()​

markDispatched(runId, holder, workerId): Promise<{ cancelled: boolean; recorded: boolean; }>

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:438

Records the holder's dispatch and reports a cancellation that arrived during it.

Parameters​

runId​

string

holder​

string

workerId​

string | undefined

Returns​

Promise<{ cancelled: boolean; recorded: boolean; }>

Implementation of​

IJobStore.markDispatched


release()​

release(runId, holder, retryAt): Promise<boolean>

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:448

Releases the holder's lease and moves the job's due time to its retry.

Parameters​

runId​

string

holder​

string

retryAt​

number

Returns​

Promise<boolean>

Implementation of​

IJobStore.release


remove()​

remove(runId): Promise<void>

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:472

Removes a run's job.

Parameters​

runId​

string

Returns​

Promise<void>

Implementation of​

IJobStore.remove


renew()​

renew(runId, holder, now, ttlMs): Promise<boolean>

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:433

Extends an unexpired lease only for its current holder.

Parameters​

runId​

string

holder​

string

now​

number

ttlMs​

number

Returns​

Promise<boolean>

Implementation of​

IJobStore.renew


schedule()​

schedule(job): Promise<void>

Defined in: packages/agentos/src/io/channels/meetings/stores/sql.ts:416

Schedules a job; an existing job keeps its lease, dispatch and cancellation fields.

Parameters​

job​
dispatchAt​

number

runId​

string

Returns​

Promise<void>

Implementation of​

IJobStore.schedule