---
id: {BATCH_ID}
title: {批处理作业名称}
status: draft
version: {v1}
schedule: {调度表达式}
related_features: []
---

# {BATCH_ID}: {批处理作业名称}

<!-- 本模板是插件 starter 指导，项目本地模板可完全覆盖 -->
<!-- 插件模板是入门指导，项目本地模板是权威 -->

## 概述

{描述这个批处理作业的用途、业务场景和主要功能}

## 基础信息

- **版本**：{version}
- **调度表达式**：{cron 表达式，如 "0 2 * * ?" 表示每天凌晨 2 点}
- **执行环境**：本地 / K8s CronJob / Airflow / XXL-Job / ElasticJob
- **超时时间**：{作业最大执行时长}
- **失败重试**：{是否支持失败重试，最大重试次数}

## 输入定义

### 数据源

| 数据源 | 类型 | 位置 | 说明 |
|--------|------|------|------|
| {数据源名称} | 数据库 / 文件 / API / 消息队列 | {位置} | {说明} |

### 输入参数

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|-------|------|
| {param_name} | {type} | 是/否 | {default} | {参数描述} |

### 输入格式

```
{输入数据的格式示例}
```

## 输出定义

### 输出目标

| 目标 | 类型 | 位置 | 说明 |
|------|------|------|------|
| {目标名称} | 数据库 / 文件 / API / 消息队列 | {位置} | {说明} |

### 输出参数

| 参数名 | 类型 | 说明 |
|--------|------|------|
| {param_name} | {type} | {参数描述} |

### 输出格式

```
{输出数据的格式示例}
```

## 处理逻辑

### 主流程

1. {步骤 1：描述}
2. {步骤 2：描述}
3. {步骤 3：描述}

### 分片策略

- **分片方式**：{按 ID 范围 / 按时间范围 / 按哈希}
- **分片大小**：{每片处理的数据量}
- **并行度**：{最大并行分片数}

### 过滤条件

| 条件 | 字段 | 运算符 | 值 | 说明 |
|------|------|--------|-----|------|
| {条件名称} | {field} | = / != / > / < / IN | {value} | {条件描述} |

## 幂等性

- **幂等策略**：{唯一键去重 / 状态检查 / 版本号}
- **唯一键**：{唯一键的组成字段}
- **冲突处理**：{跳过 / 覆盖 / 报错}
- **重复执行**：{是否支持重复执行，重复执行的行为}

## 错误处理

### 错误分类

| 错误类型 | 示例 | 处理策略 |
|---------|------|---------|
| 数据错误 | 格式错误、校验失败 | 跳过 + 记录错误日志 |
| 系统错误 | 数据库连接失败、磁盘满 | 重试 + 告警 |
| 业务错误 | 状态冲突、业务规则不满足 | 记录 + 人工介入 |

### 错误记录

- **错误日志位置**：{错误日志的存储位置}
- **错误数据存储**：{错误数据的存储位置，如"错误表 / 错误文件"}
- **错误报告**：{错误汇总报告的生成方式}

### 失败处理

- **单条失败**：{跳过 / 终止 / 回滚}
- **批量失败**：{告警阈值、处理策略}
- **作业失败**：{重试策略、告警方式}

## 监控与告警

### 监控指标

| 指标名称 | 类型 | 说明 |
|---------|------|------|
| 处理总量 | Counter | {说明} |
| 成功数量 | Counter | {说明} |
| 失败数量 | Counter | {说明} |
| 处理时长 | Histogram | {说明} |
| 处理速率 | Gauge | {说明} |

### 告警规则

| 告警名称 | 条件 | 级别 | 通知方式 |
|---------|------|------|---------|
| {告警名称} | {条件} | P0 / P1 / P2 | {钉钉 / 邮件 / 短信} |

## 性能要求

- **预期数据量**：{每次处理的数据量}
- **处理时间要求**：{最大允许处理时间}
- **资源限制**：{CPU / 内存 / 磁盘限制}

## 回滚策略

- **回滚条件**：{什么情况下需要回滚}
- **回滚方式**：{手动 / 自动}
- **回滚步骤**：{回滚的具体步骤}
- **数据一致性**：{如何保证回滚后的数据一致性}

## 关联制品

- 功能特性：{related_features}
- 设计文档：{related_designs}
- 决策：{related_decisions}
- 数据契约：{related_data_contracts}

## 变更日志

| 日期 | 版本 | 变更 | 作者 |
|------|------|------|------|
| {YYYY-MM-DD} | v1 | 初始版本 | {作者} |
