Skip to main content
Version: 1.x

SQLiteDriver

SQLiteDriver

SQLite-based persistent job queue manager for CommandKit tasks.

  • Jobs are recoverable on restart (pending jobs from the past are run on startup)
  • Job data is persisted in SQLite
  • Supports both cron and date-based schedules (uses cron-parser for cron)

Example

import { SQLiteDriver } from '@commandkit/tasks/sqlite';
import { setDriver } from '@commandkit/tasks';

const driver = new SQLiteDriver('./tasks.db');
setDriver(driver);
Signature
class SQLiteDriver implements TaskDriver {
constructor(dbPath: = './commandkit-tasks.db', pollingInterval: = 5_000)
getPollingInterval() => ;
setPollingInterval(pollingInterval: number) => ;
destroy() => ;
create(task: TaskData) => Promise<string>;
delete(identifier: string) => Promise<void>;
setTaskRunner(runner: TaskRunner) => Promise<void>;
}

constructor

method
(dbPath: = './commandkit-tasks.db', pollingInterval: = 5_000) => SQLiteDriver

Create a new SQLiteDriver instance.

getPollingInterval

method
() =>

Get the polling interval.

setPollingInterval

method
(pollingInterval: number) =>

Set the polling interval.

destroy

method
() =>

Destroy the SQLite driver and stop the polling loop.

create

method
(task: TaskData) => Promise<string>

Schedule a new job.

delete

method
(identifier: string) => Promise<void>

Delete a scheduled job by its ID.

setTaskRunner

method
(runner: TaskRunner) => Promise<void>

Set the task runner function to be called when a job is due.