数据关系模型
数据库对于该功能设计了一个数据表 daemonTask,用于存储守护任务的配置信息。守护任务通过 PM2 进程管理器运行,运行时状态从 PM2 实时获取。
model daemonTask {
id Int @id @default(autoincrement())
name String @unique
file_path String
description String @default("")
boot_start Int @default(1)
max_restarts Int @default(-1)
restart_delay Int @default(0)
restart_cron String @default("")
autorestart Int @default(1)
max_memory_restart Int @default(0)
stop_exit_codes Int @default(-1)
exp_backoff_restart_delay Int @default(0)
envs String @default("[]")
options String @default("[]")
log_dir String @default("")
log_name String @default("")
log_max_lines Int @default(0)
active Int @default(1)
created_at DateTime @default(now())
updated_at DateTime @updatedAt
}字段说明
| 字段 | 说明 |
|---|---|
name | 任务名称,全局唯一,同时作为 PM2 进程名称 |
file_path | 要执行的脚本文件路径 |
description | 任务描述 |
boot_start | 系统启动时是否自动拉起,1 启用,0 禁用 |
max_restarts | 最大重启次数,-1 表示无限制 |
restart_delay | 崩溃重启延迟,单位毫秒 |
restart_cron | 定期重启的 cron 表达式,为空则不启用 |
autorestart | 崩溃时是否自动重启,1 启用,0 禁用 |
max_memory_restart | 内存超限重启阈值(MB),0 表示不启用 |
stop_exit_codes | 遇到该退出码时停止自动重启,-1 表示不启用 |
exp_backoff_restart_delay | 指数退避重启初始延迟(毫秒),0 表示不启用 |
envs | 附加环境变量,JSON 数组格式 { key: string, value: string }[] |
options | 传递给脚本的命令行选项,JSON 数组格式 { key: string, value: string }[] |
log_dir | 日志目录路径,为空使用项目默认目录 |
log_name | 日志文件名(不含扩展名) |
log_max_lines | 日志最大保留行数,0 表示不限制 |
active | 是否启用,1 启用,0 禁用 |

