# 定时任务

定时任务是taskpool的核心模块，支持对各类多语言脚本、命令进行精细化执行管理。

## 任务属性

- **任务名称**：给任务起一个直观的名称，例如 `每日签到任务`。
- **Cron 表达式**：支持标准 cron 规则（分、时、日、月、周）。
- **脚本路径**：关联到 `scripts` 目录下的具体脚本文件或直接输入 Shell 命令。
- **执行终端**：允许选择运行在 `本机` 或是指定的 `远程 Agent` 节点。
- **任务超时**：设定单次运行的最大时长，防止僵尸进程占用资源。

## 管理操作

- **启动/停止**：手动控制任务的状态，支持一键切换自动调度与临时暂停。
- **立即执行**：不等待 Cron 触发，即刻拉起脚本运行。
- **查看日志**：直接跳转到与该任务关联的最新执行历史详情。
- **批量管理**：支持对选中的多个任务执行批量禁用、启用或删除动作。

## 交互设计

- **预设 Cron 规则**：在编辑任务时，提供常用的 `每分钟执行`、`每小时整点` 等预设样式。
- **下次触发预测**：实时计算并展示任务下一次执行的北京时间，帮助验证调度逻辑是否符合预期。

## 特殊任务类型

除了标准的 Cron 定时触发，taskpool还支持以下特殊触发场景：

### 开机启动任务 (`taskpool_startup`)

当您在定时规则（Schedule）中填写 `taskpool_startup` 时，该任务将被标记为**系统启动任务**。
- **触发时机**: 面板主进程启动或重启完成后立即执行。
- **应用场景**: 
  - 自动挂载磁盘或网络共享。
  - **环境预热**: 例如安装 PHP 编译依赖（参考 [PHP 编译依赖说明](languages.md#php-环境特别说明)）。建议命令: `bash example/deps/install_php_env_deps.sh`
  - 启动自定义的后台常驻服务。
