任务调度模块
翻译状态
此页面正在翻译中,完整内容请参考 英文版本
Tarpit 任务调度模块使用 cron 表达式提供强大的任务调度功能,支持精确的时间控制、错误处理、任务管理和监控功能。
功能特性
- 基于 Cron 的调度: 完整的 cron 表达式支持和时区处理
- 错误处理: 全面的错误类型(重试、崩溃、忽略、完成)
- 任务管理: 动态启动、停止、取消和重新加载任务
- 监控: 检查运行和暂停的任务
- 钩子: 自定义逻辑的生命周期钩子
- 依赖注入: 与 Tarpit 的 DI 系统完全集成
核心概念
1. 任务装饰器
@Task
装饰器使用 cron 表达式定义调度任务。
2. 任务上下文
每个任务都会接收一个 TaskContext
对象,提供任务元数据和状态管理。
3. 错误处理
任务可以抛出特殊异常来控制执行流程。
Cron 表达式格式
Tarpit 使用 6 字段的 cron 表达式:
┌─────────────── 秒 (0-59)
│ ┌───────────── 分钟 (0-59)
│ │ ┌─────────── 小时 (0-23)
│ │ │ ┌───────── 月份中的天 (1-31)
│ │ │ │ ┌─────── 月份 (1-12)
│ │ │ │ │ ┌───── 星期几 (0-7, 0=星期日)
│ │ │ │ │ │
* * * * * *
时区支持
任务可以指定执行时区:
@Task('0 0 9 * * *', 'morning_task', { tz: 'Asia/Shanghai' })
@Task('0 0 9 * * *', 'utc_task', { utc: true })