修复已知BUG,新增计划任务相关自愈功能,新增配置文件
src/Config/Scheduler.default.php
新增主程序核心数据表
CREATE TABLE `well_scheduler_tasks` (
`id` BINARY(16) NOT NULL COMMENT 'UUIDv7',
`class_name` varchar(120) NOT NULL COMMENT 'Job 类全名',
`method_name` char(64) NOT NULL DEFAULT 'handle' COMMENT '执行方法',
`args` TEXT COLLATE utf8mb4_unicode_ci, -- 参数 (JSON)
`priority` tinyint(1) UNSIGNED NOT NULL DEFAULT '5' COMMENT '优先级 0-10',
`max_retries` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '最大重试次数',
`retry_delay` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '重试延迟秒数',
`timeout` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '执行超时秒数',
`callback_url` varchar(160) NULL COMMENT '回调 URL',
`callback_method` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '回调方法 0:POST 1:GET',
`retry_count` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '已重试次数',
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '任务状态 0:pending 1:retrying 2:running 3:success 4:failed 5:cancelled',
`dedupe_key` char(120) NULL, -- 去重键 (NULL=不去重,允许多个 NULL)
`error` TEXT NULL COMMENT '错误信息',
`created_at` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '创建时间戳',
`updated_at` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '更新时间戳',
`scheduled_at` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '计划执行时间戳',
`started_at` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '开始执行时间戳',
`completed_at` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '完成时间戳',
`heartbeat_at` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Worker 最后心跳时间戳',
PRIMARY KEY (`id`),
INDEX `idx_status_scheduled` (`status`, `scheduled_at`),
UNIQUE INDEX `idx_dedupe_key` (`dedupe_key`),
INDEX `idx_heartbeat` (`heartbeat_at`),
INDEX `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT charSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;- 链接数据库执行上面新增的 SQL 语句
- 下载新包后上传覆盖,然后复制
src/Config/Scheduler.default.php
复制到 config 目录内,修改文件名,完整路径和文件名如下
config/Scheduler.php
后台清空缓存即可,如果使用了 scheduler 任务,重启任务即可。
论坛和消息插件随后会推送新的更新包,在后台即可更新。
插件开发用户需下载新的资源包,更新了skill