29 lines
947 B
SQL
29 lines
947 B
SQL
CREATE TABLE IF NOT EXISTS tasks (
|
|
id TEXT PRIMARY KEY NOT NULL,
|
|
name TEXT NOT NULL,
|
|
cron TEXT NOT NULL,
|
|
timezone TEXT NOT NULL,
|
|
enabled INTEGER NOT NULL CHECK (enabled IN (0, 1)),
|
|
timeout_secs INTEGER NOT NULL CHECK (timeout_secs > 0),
|
|
concurrency_policy TEXT NOT NULL DEFAULT 'skip'
|
|
CHECK (concurrency_policy = 'skip'),
|
|
retry_max_attempts INTEGER NOT NULL DEFAULT 0
|
|
CHECK (retry_max_attempts >= 0),
|
|
retry_delay_secs INTEGER NOT NULL DEFAULT 0
|
|
CHECK (retry_delay_secs >= 0),
|
|
action_type TEXT NOT NULL
|
|
CHECK (action_type IN ('script', 'http', 'process')),
|
|
action_json TEXT NOT NULL,
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT NOT NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_tasks_updated_at
|
|
ON tasks(updated_at DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_tasks_enabled
|
|
ON tasks(enabled);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_tasks_action_type
|
|
ON tasks(action_type);
|