Scheduler
API Reference for the Scheduler class
Scheduler
Manages task execution with priority-based scheduling, batching, and concurrency control.
Import
Constructor
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
maxQueueSize | number | 10000 | Maximum tasks in queue |
eventBus | EventBus | — | Optional event bus for metrics |
Properties
| Property | Type | Description |
|---|---|---|
isDestroyed | boolean | Whether scheduler is destroyed |
queueSize | number | Current queue size |
activeTaskCount | number | Number of currently running tasks |
Methods
schedule(options)
Schedule a task for execution. Returns a task ID.
cancel(taskId)
Cancel a scheduled task.
getTask(taskId)
Get a scheduled task by ID.
getTasksByStatus(status)
Get tasks filtered by status.
getTasksByCategory(category)
Get tasks filtered by category.
flush()
Execute all pending tasks.
flushCategory(category)
Execute pending tasks in a specific category.
flushIdle()
Execute idle-priority tasks.
getMetrics()
Get scheduler metrics.
destroy()
Destroy the scheduler and cancel all tasks.
Types
ScheduleTaskOptions
ScheduledTask
TaskCategory
TaskPriority
TaskStatus
SchedulerMetrics
Usage
Best Practices
Scheduler Guidelines
- Use appropriate priorities — Ensure critical tasks run first
- Declare dependencies — Maintain correct execution order
- Keep tasks short — Don't block the scheduler
- Monitor queue size — Detect overload early