# VAT异步任务管理

这个文件夹包含与VAT异步任务相关的脚本和工具。

## 文件说明

### 核心脚本
- **`queue_processor.php`** - 任务队列处理器，持续运行处理异步任务（`AsyncVATTasks` 表中 DataSource='api'/'source' 的任务统一排队）
- **`test_complete_flow.php`** - 测试完整流程（同步+异步任务创建）

### 服务化部署

生产/测试服务器以 nssm 服务方式常驻运行 `queue_processor.php`（项目根 `install-service.bat` / `install-service-test.bat`，卸载脚本同名 `uninstall-*`），运维细节见 `docs/QUEUE_PROCESSOR_MONITORING.md` 方式五。

## 使用方法

### 1. 启动任务队列处理器
```bash
# 基本启动
php task/queue_processor.php

# 自定义参数
php task/queue_processor.php --interval=60 --max-tasks=3

# 守护进程模式
php task/queue_processor.php --daemon

# 查看帮助
php task/queue_processor.php --help
```

### 2. 测试功能
```bash
# 测试完整流程（同步+异步任务创建）
php task/test_complete_flow.php
```

## 工作流程

1. **API调用**（`public/es_hague_api.php` 异步受理 / `public/generate_api.php`）→ 创建异步任务 → 返回受理结果
2. **任务队列处理器** → 检查待处理任务 → 执行文档生成 → 更新状态（TaskStatus 0→1→2/3）
3. **结果查看** → 通过 `AsyncVATTasks` 任务记录的 `ResultData`（file1/cos_key/cos_url）或日志查询

## 注意事项

- 任务队列处理器需要持续运行才能处理异步任务
- 生产/测试环境使用 nssm Windows 服务托管（崩溃自动重启）
- 所有脚本都支持Windows和Linux环境
- 日志文件保存在 `../logs/` 目录（`queue_processor_YYYYMMDD.log`）
