调度系统
调度系统用于定时或按条件自动执行脚本和工作流。你可以用它来实现定时公告、周期性清理、Cron 定时任务等功能。
基本信息
- 调度定义文件放在插件目录下的
schedule/文件夹中,YAML 格式,支持子目录 - 文件修改后自动热重载,无需重启服务器
- 支持暂停、恢复、停止等运行时控制
调度类型
| 类型 | 说明 |
|---|---|
DELAY | 延迟指定时间后执行一次 |
PERIODIC | 按固定间隔周期执行 |
CRON | 按 Cron 表达式定时执行 |
CONDITIONAL | 当条件满足时触发执行 |
运行控制
每个调度实例支持以下运行状态控制:
auto-start—— 加载后自动启动pause/resume—— 暂停和恢复执行stop—— 停止调度max-runs—— 限制最大执行次数max-duration-ms—— 限制最大运行时长
Prototype 模式
- 默认情况下(
prototype: false),同一调度只允许一个活跃实例 - 开启
prototype: true后,同一调度可以创建多个并行实例
Sender 选择器
调度执行时可以指定目标发送者,决定脚本以谁的身份执行:
| 选择器类型 | 说明 |
|---|---|
ALL_ONLINE | 所有在线玩家 |
PLAYER | 指定玩家 |
WORLD | 指定世界中的所有玩家 |
RADIUS | 指定坐标半径范围内的玩家 |
BOX | 指定立方体区域内的玩家 |
命令
| 命令 | 说明 |
|---|---|
start <id> | 启动调度 |
pause <id> | 暂停调度 |
resume <id> | 恢复调度 |
stop <id> | 停止调度 |
detail <id> | 查看调度详情 |
reload | 重载所有调度定义 |
相关页面
- 调度定义 —— 定义文件的编写格式与字段说明