---
title: "恢复卡住或失败的同步 | 帮助中心 | Tajo"
description: "当 worker 停止或同步运行失败时，Tajo 会自行做什么，同步页面会显示什么，以及何时需要你来处理：重试、重新连接、修正映射或重新发布。"
url: https://tajo.io/zh-cn/resources/help/troubleshooting/recover-a-stuck-or-failed-sync/
markdown: https://tajo.io/zh-cn/resources/help/troubleshooting/recover-a-stuck-or-failed-sync.md
lang: zh-CN
robots: noindex
---

申请抢先体验

请输入您的名字和电子邮箱地址。我们会发送确认 Tajo 访问申请的链接。

[Set Noa](https://tajo.io/zh-cn/set-noa/) 初级 6 分钟 2026年11月6日

# 恢复卡住或失败的同步

当 worker 停止或同步运行失败时，Tajo 会自行做什么，同步页面会显示什么，以及何时需要你来处理：重试、重新连接、修正映射或重新发布。

**同步运行可能会中途停止，原因可能是 worker 重启、另一个系统宕机或某条记录被拒绝。在 worker 停止或短暂故障之后，Tajo 会自行接续同步。它不会重发过去七天内已写入的记录。本页说明 Tajo 会做什么、你在同步页面上看到什么，以及少数需要你来处理的情况。**

> **快速检查** 在 Connections 下的 **Syncs and mappings** 中打开同步，查看 **Run history** 中最新的一次运行。失败的运行会说明发生了什么以及下一步该做什么。

## Tajo 自行处理的事情

**Cursor。** 运行从同步保存的 cursor 开始，按批次读取源数据。只有当一个批次中的每条记录都已送达，cursor 才会在该批次结束时前移。如果运行失败，会保留它最后一次完整到达的位置。下一次运行从那里开始，因此被中断的批次会被重新读取，而不是被跳过。

**投递台账。** 每条记录在写入之前都会获得一个投递键。该键是同步、源、页面 cursor、记录在页面中的位置以及记录本身的哈希值，因此不包含个人数据。在调用目标之前，先占用该键。写入成功后，该键被标记为已完成，并保留七天。该键与发起请求的是哪次运行无关，所以重试或之后的计划运行会为同一条记录得到相同的键。在这七天内，会直接使用已保存的结果，不会再次调用目标。这就是重放的批次不会写入两次的原因。

**同一时间只有一次运行。** 每个同步都有一个租约，由正在进行的运行在其整个生命周期内持有。租约有自己的令牌，有效期为 15 分钟，运行工作期间每 5 分钟续期一次。失去租约的运行会在下一次写入或检查点之前停止，以避免重复写入。worker 停止后，它的租约不再续期，并会在 15 分钟内过期。

**自动重试。** 队列中的运行失败后最多有五次尝试。Tajo 在第二次尝试前等待 60 秒，之后依次等待 120、240 和 480 秒。你自己发起的重试或测试运行只执行一次。与正在进行的运行发生冲突的运行不会被重试，已发布版本或连接不再有效的运行也不会被重试。

**卡住的运行。** 对于 Tajo 按计划运行的同步，如果某次运行已开始超过一小时且不再持有租约，它会被关闭，并有一个新的运行进入队列。被关闭的运行会显示 “The run stopped reporting progress and was closed.”（该运行已停止报告进度并被关闭）。因此，停止的运行的租约最多持续 15 分钟，计划同步中卡住的运行会在一小时后被替换。[了解数据同步](https://tajo.io/zh-cn/resources/help/getting-started/understanding-data-sync/) 列出了哪些同步按计划运行。

**多次失败后暂停。** 如果自上次修改同步以来最近五次已结束的运行全部失败，Tajo 会暂停该同步。它的页面会显示 “Paused automatically by the failure circuit breaker” 以及最后一个错误。只要有一次运行成功，计数就会清零。没有任何机制会自动重新启动已暂停的同步：在你修复原因并重新发布之前，它会一直保持暂停。

**每小时检查。** 每小时的第 13 分钟，Tajo 会针对每个有活跃同步、但过去 24 小时内没有成功运行的工作区，向自己的团队发出告警。这也包括完全没有记录任何运行的工作区。告警只发送一次，只有在某次运行成功之后才会再次发送。如果一个工作区中最早的活跃同步是在不到 24 小时前启用或修改的，暂时不会检查它。这个告警发给 Tajo，而不是发给你，也不会改变你的同步。

## 你会看到什么

从 **Syncs and mappings** 打开同步。**Run history** 列出每次运行，包括已写入记录数与已读取记录数、失败数、持续时间和开始时间。状态为 Queued、Running、Succeeded、Partial（部分记录失败）或 Failed。

- 正在运行、但 2 分钟内没有报告进度的运行会显示 “Waiting for a fresh progress update”（正在等待新的进度更新）。
- 失败的运行会显示一句说明发生了什么、一句说明下一步该做什么、失败名称以及运行 id。
- **Syncs** 页面上的 **View DLQ** 列出所有同步中失败和部分失败的运行，每个都带有 **Retry** 按钮。

## 该怎么做

1. **查看最新一次失败的运行。** 其中”该做什么”那一行就是下一步。下表列出了你最可能遇到的失败。
2. **如果显示 “Nothing”（无需操作），请等待。** 下一次计划运行会自行恢复。
3. **如果提示重新运行同步，** 请在 **View DLQ** 中找到失败的运行，按下 **Retry**。重试会从保存的 cursor 开始，所以已写入的批次不会再次写入。重试成功后，失败的运行会从列表中移除。
4. **如果同步已被暂停，** 请修复横幅中指出的原因，然后通过 **Publish sync** 或 **Request publish approval** 重新发布同步。
5. **如果同样的失败再次出现，** 请把失败运行下方显示的运行 id 发给我们。

每个失败名称都对应一句说明发生了什么、一句说明下一步该做什么，以及由谁修复：你或 Tajo。

| 失败名称 | 发生了什么 | 该做什么 | 由谁修复 |
| --- | --- | --- | --- |
| `lease_conflict` | 该同步的另一次运行已在进行中。 | 无需操作。进行中的运行会完成；下一次计划运行会正常开始。 | Tajo |
| `lease_lost` | 运行中途失去了运行名额，为避免重复写入而停止。 | 重新运行同步。 | Tajo |
| `lease_unavailable` | 同步无法预留运行名额。 | 重新运行同步。如果以同样方式失败，请把运行 id 发给我们。 | Tajo |
| `stale_job_swept` | 该运行已停止报告进度并被关闭。 | 重新运行同步。 | Tajo |
| `provider_rate_limited` | 另一个系统要求我们放慢速度。 | 无需操作。等待下一次计划运行。 | Tajo |
| `provider_unavailable` | 另一个系统不可用或未能及时响应。 | 无需操作。等待下一次计划运行。如果一整天都以同样方式失败，请把运行 id 发给我们。 | Tajo |
| `connection_missing` | 同步使用的某个工具在此工作区中未连接；运行会指出是哪个工具。 | 连接该工具，然后重新运行同步。 | 你 |
| `connection_unauthorized` | 另一个系统拒绝了我们的访问。 | 重新连接该连接以获得新的授权，然后重新运行同步。 | 你 |
| `destination_rejected` | 目标拒绝了本次运行中的所有记录。 | 对照目标的必填字段和格式检查字段映射，然后重新运行同步。 | 你 |
| `node_failed` | 同步的某个步骤在读取、转换或写入记录时失败。 | 打开该运行，查看哪个步骤失败以及原因，修复后重新运行同步。 | 你 |
| `attestation_rule_not_active` | 此同步已暂停。 | 恢复同步以运行它。 | 你 |
| `attestation_publication_not_attested` | 此版本的同步尚未发布。 | 发布同步。对同步的更改在发布之前不会运行。 | 你 |
| `unclassified_exception` | 同步因我们尚未归类的原因而失败。 | 重新运行同步。如果以同样方式失败，请把运行 id 发给我们。 | Tajo |

## 可能出现的问题

- **Retry 返回 “This sync rule is already running.”** 只要该同步有任何运行显示为 Queued 或 Running，你发起的重试或测试运行就会被拒绝，包括 worker 已停止的运行。对于 Tajo 按计划运行的同步，该运行在开始超过一小时后会被关闭并替换。对于其他同步，请把运行 id 发给我们。
- **同步失败超过七天。** 七天之后，台账会忘记已完成的写入。此后重放的批次可能会再次写入记录，因此请检查目标中是否有[重复联系人](https://tajo.io/zh-cn/resources/help/troubleshooting/duplicate-contacts/)。
- **一个同步没有动静，另一个却正常。** 每小时检查监控的是工作区，而不是每个同步。同一工作区中一个正常的同步会掩盖一个没有动静的同步，所以请查看每个同步的 Run history。
- **你想要不同的限制。** 五次失败后暂停和 24 小时检查是为整个 Tajo 部署设置的，不能按同步单独设置。

## 相关文章

- [了解数据同步](https://tajo.io/zh-cn/resources/help/getting-started/understanding-data-sync/)
- [数据未同步](https://tajo.io/zh-cn/resources/help/troubleshooting/data-not-syncing/)
- [断开或重新连接](https://tajo.io/zh-cn/resources/help/integrations/disconnect-or-reconnect/)

## 热门文章

[帮助中心](https://tajo.io/zh-cn/resources/help)

### 查看全部

所有资源

## 本页的 Markdown: [recover-a-stuck-or-failed-sync.md](https://tajo.io/zh-cn/resources/help/troubleshooting/recover-a-stuck-or-failed-sync.md)

正在加载 Markdown…

[在 Claude 中打开](https://claude.ai/new) [在 ChatGPT 中打开](https://chatgpt.com/)
