---
title: 流程生命周期
description: 三种流程状态、FINISHED 的含义与不含义，以及创建的执行顺序。
canonical: https://developer.unico.io/zh-CN/human-plugin/api-reference/process-lifecycle
locale: zh-CN
generated_by: markdown-export
---

# 流程生命周期

状态、状态转换以及创建的执行顺序。

## 状态

| `state` | 含义 |
| --- | --- |
| `PROCESS_STATE_CREATED` | 未完成。包括正在等待用户操作的 Journey |
| `PROCESS_STATE_FINISHED` | 已有结果，**包括**否定的重新验证结果或无法确定的识别结果 |
| `PROCESS_STATE_FAILED` | 处理失败、用户取消，或创建被中断 |

用户取消的采集会按 `PROCESS_STATE_FAILED` 返回。

> **警告: FINISHED 不等于“已通过”**
>
> 请在 `data` 中读取结果：`humanToken.status`、`liveness.value` 和 `humanTokenMatch`。`humanTokenMatch` 不为 `"true"` 的已完成重新验证，是一个已完成但**不匹配**的流程。

```mermaid
stateDiagram-v2
  [*] --> CREATED: create accepted
  CREATED --> FINISHED: read with an outcome
  CREATED --> FAILED: read with a failure, or interrupted
  FINISHED --> [*]
  FAILED --> [*]
```

已完成和已失败都是最终状态。

## 创建的执行顺序

1. Human Plugin 验证请求。此处的错误不会存储任何内容，也不会发送任何内容。
2. 它存储流程并启动流程。即使您的客户端断开连接，此步骤也不会被取消，最长耗时 30 秒。
3. 它存储结果，然后为 `data.ndocs` 计算此人的[情报](/zh-CN/human-plugin/get-started/intelligence)。

一个流程绝不会被启动两次。

## 当结果不确定时

如果无法在规定时间内确认流程，Human Plugin 会将其存储为失败并返回 `502`。如需重试，请使用新的 `correlationId` 创建新的流程。

如果容器在创建过程中停止，则在创建已不可能仍在运行之后（约 70 秒），后续的 `GET` 会将该流程标记为失败。

重试建议请参见[错误与重试](/zh-CN/human-plugin/api-reference/errors-and-retries)。