1.5 KiB
1.5 KiB
Data Model: Backup Scheduler & Unified Task UI
Entities
Task
Represents a background operation (Backup, Migration) managed by the system.
| Field | Type | Description | Constraints |
|---|---|---|---|
id |
UUID | Unique identifier | Primary Key |
type |
String | Type of task | Enum: "backup", "migration" |
status |
String | Current execution state | Enum: "pending", "running", "success", "failed" |
environment_id |
UUID | Target environment (if applicable) | Foreign Key (Environments), Nullable |
started_at |
DateTime | When the task began | Nullable |
finished_at |
DateTime | When the task completed | Nullable |
logs |
Text | Execution logs | |
error |
Text | Error message if failed | Nullable |
created_at |
DateTime | When task was queued | Default: Now |
Schedule
Configuration for automatic task execution. Nested within Environment config.
| Field | Type | Description | Constraints |
|---|---|---|---|
environment_id |
UUID | Target environment | Foreign Key (Environments) |
enabled |
Boolean | Is schedule active? | Default: false |
cron_expression |
String | Frequency definition | Valid Cron string (e.g., "0 0 * * *") |
last_run_at |
DateTime | Last execution time | Nullable |
next_run_at |
DateTime | Calculated next run | Nullable |
Storage Strategy
- Tasks: Stored in
tasks.db(SQLite) via SQLAlchemy. - Schedules: Stored in
config.jsonas part of the Environment model.