📢 Release 1.0.0-beta.10(2026-04-08)现已推出
Arcadia

数据关系模型

数据库对于该功能设计了一个数据表 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 禁用