Skip to main content

Interface: IJobStore

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:94

Delayed dispatch with leases. lease is atomic: two takers never hold one job.

Methods​

cancel()​

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

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:115

Marks the job cancelled. already_dispatched when the bot is out: the caller tells it to leave instead. A job under a live lease is cancelled too, and its dispatcher learns it from markDispatched.

Parameters​

runId​

string

Returns​

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


forget()?​

optional forget(runId): Promise<void>

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:96

Optional whole-run eviction for in-memory hosts after terminal cleanup and the retention grace. Durable stores omit it to retain their records. Call only after producers have stopped; forgetting removes fences too.

Parameters​

runId​

string

Returns​

Promise<void>


get()​

get(runId): Promise<MeetingJob | undefined>

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:117

The run's job, or undefined when there is none.

Parameters​

runId​

string

Returns​

Promise<MeetingJob | undefined>


lease()​

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

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:100

The next due, uncancelled, undispatched job whose lease is absent or expired, leased to holder until now + ttlMs.

Parameters​

holder​

string

now​

number

ttlMs​

number

Returns​

Promise<MeetingJob | undefined>


listDispatched()​

listDispatched(): Promise<MeetingJob[]>

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:119

Every dispatched job: what reconciliation compares with the providers' usage.

Returns​

Promise<MeetingJob[]>


markDispatched()​

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

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:108

Records the dispatch for the lease's holder and answers whether a cancel arrived meanwhile (then the dispatcher tells the bot to leave at once). A dispatch can outlive its lease and another holder can take the job: when holder no longer holds the lease, or the job is gone, nothing is recorded and recorded is false.

Parameters​

runId​

string

holder​

string

workerId​

string | undefined

Returns​

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


release()​

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

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:113

Releases the holder's lease without dispatching (the dispatch failed and will be retried), moving the job's due time to retryAt. False, and nothing changes, when holder no longer holds the lease or the job is gone.

Parameters​

runId​

string

holder​

string

retryAt​

number

Returns​

Promise<boolean>


remove()​

remove(runId): Promise<void>

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:121

Deletes the run's job.

Parameters​

runId​

string

Returns​

Promise<void>


renew()​

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

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:102

Extends a lease the holder still holds; false when it expired or another holder took it, and then the holder must stop.

Parameters​

runId​

string

holder​

string

now​

number

ttlMs​

number

Returns​

Promise<boolean>


schedule()​

schedule(job): Promise<void>

Defined in: packages/agentos/src/io/channels/meetings/stores/types.ts:98

Adds the run's job, due at dispatchAt; for an existing job moves only dispatchAt, preserving the lease, worker, dispatched and cancelled fields.

Parameters​

job​
dispatchAt​

number

runId​

string

Returns​

Promise<void>