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>;
}
- Implements:
TaskDriver
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.