Taskora API Reference / memory / MemoryBackend
Class: MemoryBackend
Defined in: packages/taskora/dist/memory/index.d.mts:3
Implements
Constructors
Constructor
new MemoryBackend(
options?):MemoryBackend
Defined in: packages/taskora/dist/memory/index.d.mts:23
Parameters
| Parameter | Type |
|---|---|
options? | { clock?: () => number; } |
options.clock? | () => number |
Returns
MemoryBackend
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
_clock | () => number | Internal | packages/taskora/dist/memory/index.d.mts:22 |
Methods
_recordThroughput()
_recordThroughput(
type):void
Defined in: packages/taskora/dist/memory/index.d.mts:197
Internal
— called by ack/fail to record throughput
Parameters
| Parameter | Type |
|---|---|
type | "completed" | "failed" |
Returns
void
ack()
ack(
task,jobId,token,result):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:126
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
token | string |
result | string |
Returns
Promise<void>
Implementation of
ackAndDequeue()
ackAndDequeue(
task,jobId,token,result,newToken,newLockTtl,options?):Promise<AckAndDequeueResult>
Defined in: packages/taskora/dist/memory/index.d.mts:130
Atomically ack the current job and dequeue the next one in a single roundtrip. Optional — adapters that don't implement this fall back to separate ack() + dequeue() calls in the worker. The Redis adapter implements it as a fused Lua script (ACK_AND_MOVE_TO_ACTIVE) which is critical for high-concurrency throughput: each slot self-feeds without funneling through the worker's poll loop.
The returned AckAndDequeueResult also carries the workflow binding of the acked job so the worker can advance/cancel the workflow without a follow-up getWorkflowMeta HMGET.
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
token | string |
result | string |
newToken | string |
newLockTtl | number |
options? | DequeueOptions |
Returns
Promise<AckAndDequeueResult>
Implementation of
acquireSchedulerLock()
acquireSchedulerLock(
token,ttl):Promise<boolean>
Defined in: packages/taskora/dist/memory/index.d.mts:184
Parameters
| Parameter | Type |
|---|---|
token | string |
ttl | number |
Returns
Promise<boolean>
Implementation of
addLog()
addLog(
_task,jobId,entry):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:145
Parameters
| Parameter | Type |
|---|---|
_task | string |
jobId | string |
entry | string |
Returns
Promise<void>
Implementation of
addSchedule()
addSchedule(
name,config,nextRun):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:169
Parameters
| Parameter | Type |
|---|---|
name | string |
config | string |
nextRun | number |
Returns
Promise<void>
Implementation of
advanceWorkflow()
advanceWorkflow(
workflowId,nodeIndex,result):Promise<WorkflowAdvanceResult>
Defined in: packages/taskora/dist/memory/index.d.mts:187
Parameters
| Parameter | Type |
|---|---|
workflowId | string |
nodeIndex | number |
result | string |
Returns
Promise<WorkflowAdvanceResult>
Implementation of
awaitJob()
awaitJob(
_task,jobId,timeoutMs?):Promise<AwaitJobResult>
Defined in: packages/taskora/dist/memory/index.d.mts:152
Parameters
| Parameter | Type |
|---|---|
_task | string |
jobId | string |
timeoutMs? | number |
Returns
Promise<AwaitJobResult>
Implementation of
blockingDequeue()
blockingDequeue(
task,lockTtl,token,timeoutMs,options?):Promise<DequeueResult>
Defined in: packages/taskora/dist/memory/index.d.mts:125
Parameters
| Parameter | Type |
|---|---|
task | string |
lockTtl | number |
token | string |
timeoutMs | number |
options? | DequeueOptions |
Returns
Promise<DequeueResult>
Implementation of
cancel()
cancel(
task,jobId,reason?):Promise<"cancelled"|"flagged"|"not_cancellable">
Defined in: packages/taskora/dist/memory/index.d.mts:137
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
reason? | string |
Returns
Promise<"cancelled" | "flagged" | "not_cancellable">
Implementation of
cancelWorkflow()
cancelWorkflow(
workflowId,reason?):Promise<WorkflowCancelResult>
Defined in: packages/taskora/dist/memory/index.d.mts:190
Parameters
| Parameter | Type |
|---|---|
workflowId | string |
reason? | string |
Returns
Promise<WorkflowCancelResult>
Implementation of
cleanJobs()
cleanJobs(
task,state,before,limit):Promise<number>
Defined in: packages/taskora/dist/memory/index.d.mts:202
Parameters
| Parameter | Type |
|---|---|
task | string |
state | JobState |
before | number |
limit | number |
Returns
Promise<number>
Implementation of
clear()
clear():
void
Defined in: packages/taskora/dist/memory/index.d.mts:47
Internal
Returns
void
collectPush()
collectPush(
task,jobId,item,options):Promise<{count:number;flushed:boolean; }>
Defined in: packages/taskora/dist/memory/index.d.mts:111
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
item | string |
options | { _v: number; collectKey: string; delayMs: number; maxAttempts?: number; maxSize: number; maxWaitMs: number; } |
options._v | number |
options.collectKey | string |
options.delayMs | number |
options.maxAttempts? | number |
options.maxSize | number |
options.maxWaitMs | number |
Returns
Promise<{ count: number; flushed: boolean; }>
Implementation of
connect()
connect():
Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:55
Returns
Promise<void>
Implementation of
createWorkflow()
createWorkflow(
workflowId,graph):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:186
Parameters
| Parameter | Type |
|---|---|
workflowId | string |
graph | string |
Returns
Promise<void>
Implementation of
debounceEnqueue()
debounceEnqueue(
task,jobId,data,options,debounceKey,delayMs):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:80
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
data | string |
options | { _v: number; concurrencyKey?: string; concurrencyLimit?: number; expireAt?: number; maxAttempts?: number; priority?: number; } |
options._v | number |
options.concurrencyKey? | string |
options.concurrencyLimit? | number |
options.expireAt? | number |
options.maxAttempts? | number |
options.priority? | number |
debounceKey | string |
delayMs | number |
Returns
Promise<void>
Implementation of
deduplicateEnqueue()
deduplicateEnqueue(
task,jobId,data,options,dedupKey,states):Promise<{created:true; } | {created:false;existingId:string; }>
Defined in: packages/taskora/dist/memory/index.d.mts:97
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
data | string |
options | { _v: number; concurrencyKey?: string; concurrencyLimit?: number; delay?: number; expireAt?: number; maxAttempts?: number; priority?: number; } |
options._v | number |
options.concurrencyKey? | string |
options.concurrencyLimit? | number |
options.delay? | number |
options.expireAt? | number |
options.maxAttempts? | number |
options.priority? | number |
dedupKey | string |
states | string[] |
Returns
Promise<{ created: true; } | { created: false; existingId: string; }>
Implementation of
dequeue()
dequeue(
task,lockTtl,token,options?):Promise<DequeueResult>
Defined in: packages/taskora/dist/memory/index.d.mts:124
Parameters
| Parameter | Type |
|---|---|
task | string |
lockTtl | number |
token | string |
options? | DequeueOptions |
Returns
Promise<DequeueResult>
Implementation of
disconnect()
disconnect():
Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:56
Returns
Promise<void>
Implementation of
enqueue()
enqueue(
task,jobId,data,options):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:58
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
data | string |
options | object & DispatchOptions |
Returns
Promise<void>
Implementation of
enqueueBulk()
enqueueBulk(
task,jobs):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:67
Parameters
| Parameter | Type |
|---|---|
task | string |
jobs | object[] |
Returns
Promise<void>
Implementation of
extendLock()
extendLock(
task,jobId,token,ttl):Promise<"extended"|"lost"|"cancelled">
Defined in: packages/taskora/dist/memory/index.d.mts:136
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
token | string |
ttl | number |
Returns
Promise<"extended" | "lost" | "cancelled">
Implementation of
fail()
fail(
task,jobId,token,error,retry?):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:127
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
token | string |
error | string |
retry? | { delay: number; } |
retry.delay? | number |
Returns
Promise<void>
Implementation of
failAndDequeue()
failAndDequeue(
task,jobId,token,error,retry,newToken,newLockTtl,options?):Promise<AckAndDequeueResult>
Defined in: packages/taskora/dist/memory/index.d.mts:131
Atomically fail the current job and dequeue the next one in a single roundtrip. Optional — see ackAndDequeue for rationale. The workflow binding is only populated on permanent failures (retries don't cascade).
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
token | string |
error | string |
retry | { delay: number; } |
retry.delay | number |
newToken | string |
newLockTtl | number |
options? | DequeueOptions |
Returns
Promise<AckAndDequeueResult>
Implementation of
failWorkflow()
failWorkflow(
workflowId,nodeIndex,error):Promise<WorkflowFailResult>
Defined in: packages/taskora/dist/memory/index.d.mts:188
Parameters
| Parameter | Type |
|---|---|
workflowId | string |
nodeIndex | number |
error | string |
Returns
Promise<WorkflowFailResult>
Implementation of
finishCancel()
finishCancel(
task,jobId,token):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:138
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
token | string |
Returns
Promise<void>
Implementation of
forceFlushCollect()
forceFlushCollect(
task,key?):void
Defined in: packages/taskora/dist/memory/index.d.mts:45
Internal
Parameters
| Parameter | Type |
|---|---|
task | string |
key? | string |
Returns
void
getAllJobs()
getAllJobs():
object[]
Defined in: packages/taskora/dist/memory/index.d.mts:49
Internal
Returns
object[]
getEarliestDelayedScore()
getEarliestDelayedScore():
number
Defined in: packages/taskora/dist/memory/index.d.mts:43
Internal
— earliest delayed job score across all tasks
Returns
number
getError()
getError(
_task,jobId):Promise<string>
Defined in: packages/taskora/dist/memory/index.d.mts:148
Parameters
| Parameter | Type |
|---|---|
_task | string |
jobId | string |
Returns
Promise<string>
Implementation of
getJobDetails()
getJobDetails(
_task,jobId):Promise<RawJobDetails>
Defined in: packages/taskora/dist/memory/index.d.mts:157
Parameters
| Parameter | Type |
|---|---|
_task | string |
jobId | string |
Returns
Promise<RawJobDetails>
Implementation of
getLogs()
getLogs(
_task,jobId):Promise<string[]>
Defined in: packages/taskora/dist/memory/index.d.mts:150
Parameters
| Parameter | Type |
|---|---|
_task | string |
jobId | string |
Returns
Promise<string[]>
Implementation of
getProgress()
getProgress(
_task,jobId):Promise<string>
Defined in: packages/taskora/dist/memory/index.d.mts:149
Parameters
| Parameter | Type |
|---|---|
_task | string |
jobId | string |
Returns
Promise<string>
Implementation of
getQueueStats()
getQueueStats(
task):Promise<QueueStats>
Defined in: packages/taskora/dist/memory/index.d.mts:158
Parameters
| Parameter | Type |
|---|---|
task | string |
Returns
Promise<QueueStats>
Implementation of
getResult()
getResult(
_task,jobId):Promise<string>
Defined in: packages/taskora/dist/memory/index.d.mts:147
Parameters
| Parameter | Type |
|---|---|
_task | string |
jobId | string |
Returns
Promise<string>
Implementation of
getSchedule()
getSchedule(
name):Promise<{config:string;nextRun:number;paused:boolean; }>
Defined in: packages/taskora/dist/memory/index.d.mts:171
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
Promise<{ config: string; nextRun: number; paused: boolean; }>
Implementation of
getServerInfo()
getServerInfo():
Promise<{connected:boolean;uptime:number;usedMemory:string;version:string; }>
Defined in: packages/taskora/dist/memory/index.d.mts:203
Returns
Promise<{ connected: boolean; uptime: number; usedMemory: string; version: string; }>
Implementation of
getState()
getState(
_task,jobId):Promise<JobState>
Defined in: packages/taskora/dist/memory/index.d.mts:146
Parameters
| Parameter | Type |
|---|---|
_task | string |
jobId | string |
Returns
Promise<JobState>
Implementation of
getTaskKeyStats()
getTaskKeyStats(
_task):Promise<{keyCount:number;memoryBytes:number; }>
Defined in: packages/taskora/dist/memory/index.d.mts:198
Parameters
| Parameter | Type |
|---|---|
_task | string |
Returns
Promise<{ keyCount: number; memoryBytes: number; }>
Implementation of
getTaskNames()
getTaskNames():
string[]
Defined in: packages/taskora/dist/memory/index.d.mts:41
Internal
Returns
string[]
getThroughput()
getThroughput(
_task,bucketSize,count):Promise<object[]>
Defined in: packages/taskora/dist/memory/index.d.mts:218
Parameters
| Parameter | Type |
|---|---|
_task | string |
bucketSize | number |
count | number |
Returns
Promise<object[]>
Implementation of
getVersionDistribution()
getVersionDistribution(
task):Promise<{active:Record<number,number>;delayed:Record<number,number>;waiting:Record<number,number>; }>
Defined in: packages/taskora/dist/memory/index.d.mts:164
Parameters
| Parameter | Type |
|---|---|
task | string |
Returns
Promise<{ active: Record<number, number>; delayed: Record<number, number>; waiting: Record<number, number>; }>
Implementation of
Adapter.getVersionDistribution
getWorkflowDetail()
getWorkflowDetail(
workflowId):Promise<WorkflowDetail>
Defined in: packages/taskora/dist/memory/index.d.mts:217
Parameters
| Parameter | Type |
|---|---|
workflowId | string |
Returns
Promise<WorkflowDetail>
Implementation of
getWorkflowMeta()
getWorkflowMeta(
_task,jobId):Promise<{nodeIndex:number;workflowId:string; }>
Defined in: packages/taskora/dist/memory/index.d.mts:191
Parameters
| Parameter | Type |
|---|---|
_task | string |
jobId | string |
Returns
Promise<{ nodeIndex: number; workflowId: string; }>
Implementation of
getWorkflowState()
getWorkflowState(
workflowId):Promise<string>
Defined in: packages/taskora/dist/memory/index.d.mts:189
Parameters
| Parameter | Type |
|---|---|
workflowId | string |
Returns
Promise<string>
Implementation of
handshake()
handshake(
ours):Promise<SchemaMeta>
Defined in: packages/taskora/dist/memory/index.d.mts:57
Atomically persist-or-read the wire-format meta record.
Contract: • If no meta is currently stored in this backend (+ prefix), the adapter writes ours verbatim and returns ours. • Otherwise, the adapter returns whatever meta is already stored, UNTOUCHED — the check/upgrade decision belongs to core.
Called exactly once per App.ensureConnected(), immediately after connect() and before any worker/scheduler/dispatch runs. Core calls checkCompat(ours, returned) and throws SchemaVersionMismatchError on any incompatibility.
Parameters
| Parameter | Type |
|---|---|
ours | SchemaMeta |
Returns
Promise<SchemaMeta>
Implementation of
inspectCollect()
inspectCollect(
task,collectKey):Promise<CollectBufferInfo>
Defined in: packages/taskora/dist/memory/index.d.mts:123
Stats-only view of the current collect buffer for (task, collectKey). Cheaper than peekCollect — reads only the meta hash, not the item payloads. Returns null if there is no active buffer for the key.
Parameters
| Parameter | Type |
|---|---|
task | string |
collectKey | string |
Returns
Promise<CollectBufferInfo>
Implementation of
listJobDetails()
listJobDetails(
task,state,offset,limit):Promise<object[]>
Defined in: packages/taskora/dist/memory/index.d.mts:153
Parameters
| Parameter | Type |
|---|---|
task | string |
state | "cancelled" | "waiting" | "delayed" | "active" | "completed" | "failed" | "expired" |
offset | number |
limit | number |
Returns
Promise<object[]>
Implementation of
listSchedules()
listSchedules():
Promise<ScheduleRecord[]>
Defined in: packages/taskora/dist/memory/index.d.mts:176
Returns
Promise<ScheduleRecord[]>
Implementation of
listWorkflows()
listWorkflows(
state?,offset?,limit?):Promise<object[]>
Defined in: packages/taskora/dist/memory/index.d.mts:209
Parameters
| Parameter | Type |
|---|---|
state? | WorkflowState |
offset? | number |
limit? | number |
Returns
Promise<object[]>
Implementation of
nack()
nack(
task,jobId,token):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:135
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
token | string |
Returns
Promise<void>
Implementation of
onCancel()
onCancel(
task,handler):Promise<() =>void>
Defined in: packages/taskora/dist/memory/index.d.mts:139
Parameters
| Parameter | Type |
|---|---|
task | string |
handler | (jobId) => void |
Returns
Promise<() => void>
Implementation of
pauseSchedule()
pauseSchedule(
name):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:182
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
Promise<void>
Implementation of
peekCollect()
peekCollect(
task,collectKey):Promise<string[]>
Defined in: packages/taskora/dist/memory/index.d.mts:122
Read the current collect buffer for (task, collectKey) as raw serialized items. Non-destructive: never drains, never resets TTLs, never alters flush-trigger state. Returns items in dispatch order (oldest → newest). Empty array if the buffer has no items, was just flushed, or was never created.
Called by Task.peekCollect / BoundTask.peekCollect; deserialization is done at the Task layer so the adapter stays schema-agnostic.
Parameters
| Parameter | Type |
|---|---|
task | string |
collectKey | string |
Returns
Promise<string[]>
Implementation of
promoteAll()
promoteAll():
void
Defined in: packages/taskora/dist/memory/index.d.mts:39
Internal
Returns
void
promoteDelayed()
promoteDelayed(
task):void
Defined in: packages/taskora/dist/memory/index.d.mts:37
Internal
Parameters
| Parameter | Type |
|---|---|
task | string |
Returns
void
removeSchedule()
removeSchedule(
name):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:170
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
Promise<void>
Implementation of
renewSchedulerLock()
renewSchedulerLock(
token,ttl):Promise<boolean>
Defined in: packages/taskora/dist/memory/index.d.mts:185
Parameters
| Parameter | Type |
|---|---|
token | string |
ttl | number |
Returns
Promise<boolean>
Implementation of
resumeSchedule()
resumeSchedule(
name,nextRun):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:183
Parameters
| Parameter | Type |
|---|---|
name | string |
nextRun | number |
Returns
Promise<void>
Implementation of
retryAllFromDLQ()
retryAllFromDLQ(
task,limit):Promise<number>
Defined in: packages/taskora/dist/memory/index.d.mts:160
Parameters
| Parameter | Type |
|---|---|
task | string |
limit | number |
Returns
Promise<number>
Implementation of
retryFromDLQ()
retryFromDLQ(
task,jobId):Promise<boolean>
Defined in: packages/taskora/dist/memory/index.d.mts:159
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
Returns
Promise<boolean>
Implementation of
setProgress()
setProgress(
task,jobId,value):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:144
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
value | string |
Returns
Promise<void>
Implementation of
stalledCheck()
stalledCheck(
task,maxStalledCount):Promise<{failed:string[];recovered:string[]; }>
Defined in: packages/taskora/dist/memory/index.d.mts:140
Parameters
| Parameter | Type |
|---|---|
task | string |
maxStalledCount | number |
Returns
Promise<{ failed: string[]; recovered: string[]; }>
Implementation of
subscribe()
subscribe(
_tasks,handler):Promise<() =>Promise<void>>
Defined in: packages/taskora/dist/memory/index.d.mts:151
Parameters
| Parameter | Type |
|---|---|
_tasks | string[] |
handler | (event) => void |
Returns
Promise<() => Promise<void>>
Implementation of
throttleEnqueue()
throttleEnqueue(
task,jobId,data,options,throttleKey,max,windowMs):Promise<boolean>
Defined in: packages/taskora/dist/memory/index.d.mts:88
Parameters
| Parameter | Type |
|---|---|
task | string |
jobId | string |
data | string |
options | { _v: number; concurrencyKey?: string; concurrencyLimit?: number; delay?: number; expireAt?: number; maxAttempts?: number; priority?: number; } |
options._v | number |
options.concurrencyKey? | string |
options.concurrencyLimit? | number |
options.delay? | number |
options.expireAt? | number |
options.maxAttempts? | number |
options.priority? | number |
throttleKey | string |
max | number |
windowMs | number |
Returns
Promise<boolean>
Implementation of
tickScheduler()
tickScheduler(
now):Promise<object[]>
Defined in: packages/taskora/dist/memory/index.d.mts:177
Parameters
| Parameter | Type |
|---|---|
now | number |
Returns
Promise<object[]>
Implementation of
trimCompleted()
trimCompleted(
task,before,maxItems):Promise<number>
Defined in: packages/taskora/dist/memory/index.d.mts:162
Parameters
| Parameter | Type |
|---|---|
task | string |
before | number |
maxItems | number |
Returns
Promise<number>
Implementation of
trimDLQ()
trimDLQ(
task,before,maxItems):Promise<number>
Defined in: packages/taskora/dist/memory/index.d.mts:161
Parameters
| Parameter | Type |
|---|---|
task | string |
before | number |
maxItems | number |
Returns
Promise<number>
Implementation of
updateScheduleNextRun()
updateScheduleNextRun(
name,config,nextRun):Promise<void>
Defined in: packages/taskora/dist/memory/index.d.mts:181
Parameters
| Parameter | Type |
|---|---|
name | string |
config | string |
nextRun | number |
Returns
Promise<void>