feat(gateway): unify background task runtime and storage

This commit is contained in:
fawney19
2026-05-09 21:19:29 +08:00
parent 4a64d078f3
commit 209322b499
64 changed files with 4602 additions and 280 deletions

View File

@@ -0,0 +1,42 @@
-- Generated by aether-data-schema from schema/logical/*.toml.
-- Do not edit generated files directly; edit logical schema or explicit overrides instead.
CREATE TABLE IF NOT EXISTS background_task_runs (
`id` VARCHAR(64) NOT NULL,
`task_key` VARCHAR(200) NOT NULL,
`kind` VARCHAR(32) NOT NULL,
`trigger` VARCHAR(64) NOT NULL,
`status` VARCHAR(32) NOT NULL,
`attempt` INT NOT NULL DEFAULT 0,
`max_attempts` INT NOT NULL DEFAULT 0,
`owner_instance` VARCHAR(200),
`progress_percent` INT NOT NULL DEFAULT 0,
`progress_message` TEXT,
`payload_json` JSON,
`result_json` JSON,
`error_message` TEXT,
`cancel_requested` TINYINT(1) NOT NULL DEFAULT 0,
`created_by` VARCHAR(200),
`created_at_unix_secs` BIGINT NOT NULL,
`started_at_unix_secs` BIGINT,
`finished_at_unix_secs` BIGINT,
`updated_at_unix_secs` BIGINT NOT NULL,
PRIMARY KEY (`id`),
KEY idx_background_task_runs_task_key (`task_key`),
KEY idx_background_task_runs_status (`status`),
KEY idx_background_task_runs_kind (`kind`),
KEY idx_background_task_runs_created_at (`created_at_unix_secs`)
);
CREATE TABLE IF NOT EXISTS background_task_events (
`id` VARCHAR(64) NOT NULL,
`run_id` VARCHAR(64) NOT NULL,
`event_type` VARCHAR(64) NOT NULL,
`message` TEXT NOT NULL,
`payload_json` JSON,
`created_at_unix_secs` BIGINT NOT NULL,
PRIMARY KEY (`id`),
KEY idx_background_task_events_run_id (`run_id`, `created_at_unix_secs`),
CONSTRAINT fk_background_task_events_run FOREIGN KEY (`run_id`) REFERENCES background_task_runs (`id`) ON DELETE CASCADE
);

View File

@@ -8,3 +8,4 @@
005_wallet_billing.sql
006_usage.sql
007_stats.sql
008_background_tasks.sql