Last updated

API / geotoolkit / util / taskscheduler / TaskScheduler

Class: TaskScheduler

util.taskscheduler.TaskScheduler

A simple task scheduler to control parallel tasks execution

Table of contents

Constructors
Methods

Contents

Constructors

new TaskScheduler(options)

new TaskScheduler(options?)

Parameters

Name Type
Optional optionsOptions
Methods

abort

abort(): TaskScheduler

Cancel all tasks

Returns

TaskScheduler

this


abortTask

abortTask(id): TaskScheduler

Abort tasks by id

Parameters

Name Type Description
idnumber | number[]id or array of id

Returns

TaskScheduler

this


addTask

addTask(task, options?): ITask

Add a new task to queue

Example

// add a task
scheduler.addTask((resolve, reject, cancel) => {
resolve();
});

Example

// add a task and use it as a promise
scheduler.addTask((resolve, reject, cancel) => {
resolve();
}).toPromise().then((data) => {
...
}).catch((error) => {
...
});

Example

// handle cancellation in the task
scheduler.addTask((resolve, reject, cancel) => {
// Handle cancellation
const AbortedErrorCode = 'Aborted';
cancel.setErrorHandler(() => {
reject(new Error(AbortedErrorCode));
});
});

Parameters

Name Type Description
taskTasktask function
Optional optionsTaskOptionsoptions all options keys are case-insensitive

Returns

ITask

task created task


getLastTaskId

getLastTaskId(): number

Return id of the last task

Returns

number


getNumberOfParallelTasks

getNumberOfParallelTasks(): number

Gets number of running in parallel tasks

Returns

number

count number of parallel tasks


isEmpty

isEmpty(): boolean

Return true if there are no tasks in the queue

Returns

boolean


setNumberOfParallelTasks

setNumberOfParallelTasks(count): TaskScheduler

Sets number of running in parallel tasks

Parameters

Name Type Description
countnumbernumber of parallel tasks

Returns

TaskScheduler

this