Class: TaskQueue<Type, Data, Options, Result>
TaskQueue is a FIFO queue of asynchronous tasks that should be
performed sequentially.
Tasks are added to the queue with push. Each task will be processed by
calling its process method.
By default, task queues will be processed automatically, as soon as tasks
are pushed to them. This can be overridden by setting the autoProcess
setting to false and calling process when you'd like to start
processing.
Type parameters​
| Name | Type |
|---|---|
Type | string |
Data | unknown |
Options | unknown |
Result | unknown |
Hierarchy​
↳
TaskQueue
Constructors​
constructor​
• new TaskQueue<Type, Data, Options, Result>(target, settings?)
Creates an instance of TaskQueue.
Type parameters​
| Name | Type |
|---|---|
Type | string |
Data | unknown |
Options | unknown |
Result | unknown |
Parameters​
| Name | Type |
|---|---|
target | Performer<Type, Data, Options, Result> |
settings | TaskQueueSettings<Type, Data, Options> |
Inherited from​
Evented.constructor
Defined in​
packages/@orbit/core/src/task-queue.ts:83
Properties​
autoProcess​
• autoProcess: boolean
Defined in​
packages/@orbit/core/src/task-queue.ts:67
Accessors​
bucket​
• get bucket(): undefined | Bucket<Task<Type, Data, unknown>[]>
A bucket used to persist the state of this queue.
Returns​
undefined | Bucket<Task<Type, Data, unknown>[]>
Defined in​
packages/@orbit/core/src/task-queue.ts:132
current​
• get current(): Task<Type, Data, unknown>
The current task being processed (if actively processing), or the next task to be processed (if not actively processing).
Returns​
Task<Type, Data, unknown>
Defined in​
packages/@orbit/core/src/task-queue.ts:154
currentProcessor​
• get currentProcessor(): TaskProcessor<Type, Data, Options, Result>
The processor wrapper that is processing the current task (or next task, if none are being processed).
Returns​
TaskProcessor<Type, Data, Options, Result>
Defined in​
packages/@orbit/core/src/task-queue.ts:162
empty​
• get empty(): boolean
Is the queue empty?
Returns​
boolean
Defined in​
packages/@orbit/core/src/task-queue.ts:178
entries​
• get entries(): Task<Type, Data, unknown>[]
The tasks in the queue.
Returns​
Task<Type, Data, unknown>[]
Defined in​
packages/@orbit/core/src/task-queue.ts:146
error​
• get error(): undefined | Error
If an error occurs while processing a task, processing will be halted, the
fail event will be emitted, and this property will reflect the error
encountered.
Returns​
undefined | Error
Defined in​
packages/@orbit/core/src/task-queue.ts:171
length​
• get length(): number
The number of tasks in the queue.
Returns​
number
Defined in​
packages/@orbit/core/src/task-queue.ts:139
name​
• get name(): undefined | string
Name used for tracking / debugging this queue.
Returns​
undefined | string
Defined in​
packages/@orbit/core/src/task-queue.ts:118
performer​
• get performer(): Performer<Type, Data, Options, Result>
The object which will perform the tasks in this queue.
Returns​
Performer<Type, Data, Options, Result>
Defined in​
packages/@orbit/core/src/task-queue.ts:125
processing​
• get processing(): boolean
Is the queue actively processing a task?
Returns​
boolean
Defined in​
packages/@orbit/core/src/task-queue.ts:185
reified​
• get reified(): Promise<void>
Resolves when the queue has been fully reified from its associated bucket, if applicable.
Returns​
Promise<void>
Defined in​
packages/@orbit/core/src/task-queue.ts:195
Methods​
activate​
â–¸ activate(): Promise<void>
Returns​
Promise<void>
Defined in​
packages/@orbit/core/src/task-queue.ts:107
clear​
â–¸ clear(e?): Promise<void>
Cancels the current task and completely clears the queue.
Parameters​
| Name | Type |
|---|---|
e? | Error |
Returns​
Promise<void>
Defined in​
packages/@orbit/core/src/task-queue.ts:258
emit​
â–¸ emit(event, ...args): void
Parameters​
| Name | Type |
|---|---|
event | Event |
...args | unknown[] |
Returns​
void
Inherited from​
Defined in​
packages/@orbit/core/src/evented.ts:29
listeners​
â–¸ listeners(event): Listener[]
Parameters​
| Name | Type |
|---|---|
event | Event |
Returns​
Listener[]
Inherited from​
Defined in​
packages/@orbit/core/src/evented.ts:30
off​
â–¸ off(event, listener?): void
Parameters​
| Name | Type |
|---|---|
event | Event |
listener? | Listener |
Returns​
void
Inherited from​
Defined in​
packages/@orbit/core/src/evented.ts:27
on​
â–¸ on(event, listener): () => void
Parameters​
| Name | Type |
|---|---|
event | Event |
listener | Listener |
Returns​
fn
â–¸ (): void
Returns​
void
Inherited from​
Defined in​
packages/@orbit/core/src/evented.ts:26
one​
â–¸ one(event, listener): () => void
Parameters​
| Name | Type |
|---|---|
event | Event |
listener | Listener |
Returns​
fn
â–¸ (): void
Returns​
void
Inherited from​
Defined in​
packages/@orbit/core/src/evented.ts:28
process​
â–¸ process(): Promise<void>
Processes all the tasks in the queue. Resolves when the queue is empty.
Returns​
Promise<void>
Defined in​
packages/@orbit/core/src/task-queue.ts:321
push​
â–¸ push(task): Promise<Result>
Push a new task onto the end of the queue.
If autoProcess is enabled, this will automatically trigger processing of
the queue.
Returns the result of processing the pushed task.
Parameters​
| Name | Type |
|---|---|
task | Task<Type, Data, Options> |
Returns​
Promise<Result>
Defined in​
packages/@orbit/core/src/task-queue.ts:207
retry​
â–¸ retry(): Promise<Result>
Cancels and re-tries processing the current task.
Returns the result of the retried task.
Returns​
Promise<Result>
Defined in​
packages/@orbit/core/src/task-queue.ts:223
shift​
â–¸ shift(e?): Promise<undefined | Task<Type, Data, unknown>>
Cancels the current task and removes it, but does not continue processing.
Returns the canceled and removed task.
Parameters​
| Name | Type |
|---|---|
e? | Error |
Returns​
Promise<undefined | Task<Type, Data, unknown>>
Defined in​
packages/@orbit/core/src/task-queue.ts:280
skip​
â–¸ skip(e?): Promise<void>
Cancels and discards the current task.
If autoProcess is enabled, this will automatically trigger processing of
the queue.
Parameters​
| Name | Type |
|---|---|
e? | Error |
Returns​
Promise<void>
Defined in​
packages/@orbit/core/src/task-queue.ts:240
unshift​
â–¸ unshift(task): Promise<Result>
Cancels processing the current task and inserts a new task at the beginning of the queue. This new task will be processed next.
Returns the result of processing the new task.
Parameters​
| Name | Type |
|---|---|
task | Task<Type, Data, Options> |
Returns​
Promise<Result>