webman-tech/crontab-task
最新稳定版本:v5.0.20
Composer 安装命令:
composer require webman-tech/crontab-task
包简介
Webman plugin webman-tech/crontab-task
README 文档
README
本项目是从 webman-tech/components-monorepo 自动 split 出来的,请勿直接修改
简介
webman 定时任务管理插件,基于 workerman/crontab 实现,提供更加便捷的定时任务管理方式。
该插件解决了 webman 默认定时任务配置的一些问题:单进程下起多个定时任务存在阻塞问题、缺乏统一的日志记录机制、定时任务管理不够灵活。
功能特性
- 灵活的进程管理:支持单任务独立进程和多任务共享进程两种配置方式
- 完善的日志支持:提供任务开始、结束、异常等常规日志记录
- 事件机制:支持任务执行前后的事件处理
- 内存管理:支持任务执行后自动释放内存
- 命令行工具:提供查看和创建定时任务的命令
- 异常处理:完善的异常处理机制,防止任务异常影响整个进程
安装
composer require webman-tech/crontab-task
核心组件
BaseTask 基础任务类
BaseTask 是所有定时任务的基类,提供任务执行的完整生命周期管理。子类需实现 handle() 抽象方法编写具体业务逻辑,框架负责异常捕获、日志记录、事件触发和内存管理。异常分为两类:TaskException 记录为 warning 级别(业务异常),其他异常记录为 error 级别(系统异常)。
Schedule 调度器
Schedule 用于配置和管理定时任务进程,通过 addTask() 添加单个任务(独立进程)、addTasks() 添加多个任务(同一进程,注意阻塞问题),最后调用 buildProcesses() 构建进程配置数组。
TaskProcess 任务进程
TaskProcess 是实际的任务进程类,负责验证任务配置的正确性,并在进程启动时注册和管理定时任务的执行。
命令行工具
php webman crontab-task:list:查看当前所有定时任务列表php webman make:crontab-task MyTask:快速创建定时任务类
AI 辅助
- 开发维护:AGENTS.md — 面向 AI 的代码结构和开发规范说明
- 使用指南:skills/webman-tech-crontab-task-best-practices/SKILL.md — 面向 AI 的最佳实践,可安装到 Claude Code 的 skills 目录使用
统计信息
- 总下载量: 2.5k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 7
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-05-06