Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,7 @@
"en/basic/admin-panel/ai-setting",
"en/basic/admin-panel/automation-management",
"en/basic/admin-panel/table-query-ops",
"en/basic/admin-panel/computed-outbox",
"en/basic/admin-panel/audit-log",
"en/basic/admin-panel/sandbox-agent",
"en/basic/admin-panel/multitenancy"
Expand Down Expand Up @@ -674,6 +675,7 @@
"zh/basic/admin-panel/ai-setting",
"zh/basic/admin-panel/automation-management",
"zh/basic/admin-panel/table-query-ops",
"zh/basic/admin-panel/computed-outbox",
"zh/basic/admin-panel/audit-log",
"zh/basic/admin-panel/sandbox-agent",
"zh/basic/admin-panel/multitenancy"
Expand Down
50 changes: 50 additions & 0 deletions en/basic/admin-panel/computed-outbox.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: "Computed Outbox"
description: "Monitor BullMQ delivery and computed task backlog in the Admin Panel."
---

Path: Admin Panel → Computed Outbox

Use **Computed Outbox** when formula, lookup, or other computed field values stop updating or take much longer than expected. It helps instance administrators determine whether the delay comes from Redis and BullMQ, missing workers, queue failures, or database backlog before checking service logs.

The page samples the BullMQ queue and database task ledger. It is read-only and does not execute or retry tasks.

## Read the Health Status

The status beside the page title summarizes the latest sample:

| Status | Meaning |
| --- | --- |
| **Healthy** | BullMQ is reachable, a consumer is available, and no backlog condition needs attention. |
| **Degraded** | Tasks are still being monitored, but the sample found failed queue jobs, dead letters, stale work, overdue tasks, or an unavailable data database. |
| **Critical** | BullMQ is unavailable or no consumer is connected. |

When the status needs attention, the page lists the specific reasons below the header.

## Review Queue and Backlog

| Section | What it shows |
| --- | --- |
| Summary cards | Trigger roles, BullMQ availability and workers, due tasks, running tasks, stale work, and dead letters. |
| Live BullMQ queue | Current waiting, active, delayed, failed, paused, prioritized, and retained completed job counts. |
| Recently completed BullMQ jobs | Recent task IDs, Base IDs, completion times, processing times, and attempts. |
| Database task ledger | Tasks still tracked in each data database, including pending, scheduled, running, stale, and dead tasks. |
| This process activity | The latest publish and consume activity observed by the application process serving the page. |

Click **Refresh** to request a new sample. The page also refreshes using the configured monitoring interval, which is 30 seconds by default.

## Use the Result

| What you see | What to check next |
| --- | --- |
| **Critical** status | Check the Redis connection and confirm that at least one consumer process is running. |
| Failed queue jobs, dead letters, or stale work | Check backend logs for task errors and confirm that application processes are healthy. |
| Due tasks and the longest wait keep increasing | Compare the worker count and active jobs, then check consumer capacity and concurrency settings. |
| Unavailable data database | Check whether the application can connect to the affected data database. |

## Notes

- **Completed (retained)** is the number of completed jobs currently retained in Redis, not a lifetime total.
- **This process activity** resets when that application process restarts and is not aggregated across replicas.
- For historical rates, errors, latency, queue depth, and backlog, use the OpenTelemetry metrics exported by your deployment.
- Configure the required Redis connection through [Environment Variables](/en/deploy/env).
1 change: 1 addition & 0 deletions en/basic/admin-panel/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ After logging in as an administrator, click the "Admin Panel" button in the uppe
- **[AI settings](/en/basic/admin-panel/ai-setting)** - Configure AI features and models
- **[Automation management](/en/basic/admin-panel/automation-management)** - View automation run status and run history
- **[Table Query Ops](/en/basic/admin-panel/table-query-ops)** - Analyze table query risk and index recommendations
- **[Computed Outbox](/en/basic/admin-panel/computed-outbox)** - Monitor computed task delivery, queue health, and database backlog
- **[Audit log](/en/basic/admin-panel/audit-log)** - Review recent instance activity and operation details
- **[Sandbox Agent](/en/basic/admin-panel/sandbox-agent)** - Configure and manage Sandbox Agent

Expand Down
2 changes: 1 addition & 1 deletion en/deploy/env.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ For production deployments, use **S3-compatible object storage** (`s3` / `minio`
| STORAGE_PREFIX | Storage prefix, defaults to PUBLIC_ORIGIN | PUBLIC_ORIGIN | - | http://localhost:3000 |
| **Cache Configuration** | | | | |
| BACKEND_CACHE_PROVIDER | Cache provider, options: sqlite, memory, redis | sqlite | - | redis |
| BACKEND_CACHE_REDIS_URI | Redis cache connection URI, required when BACKEND_CACHE_PROVIDER is redis | - | - | redis://default:teable@127.0.0.1:6379/0 |
| BACKEND_CACHE_REDIS_URI | Required Redis connection URI for computed task delivery; also used for cache when BACKEND_CACHE_PROVIDER is redis | - | Yes | redis://default:teable@127.0.0.1:6379/0 |
| **Performance Cache Configuration** | | | | |
| BACKEND_PERFORMANCE_CACHE | Performance cache Redis URL for query result caching, improves multi-user collaboration efficiency. Recommended to use separate Redis instance from BACKEND_CACHE_REDIS_URI | - | - | redis://default:teable@127.0.0.1:6379/0 |
| **Authentication Configuration** | | | | |
Expand Down
50 changes: 50 additions & 0 deletions zh/basic/admin-panel/computed-outbox.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: "计算任务 Outbox"
description: "在管理面板中监控 BullMQ 投递和计算任务积压。"
---

路径:管理面板 → 计算任务 Outbox

当公式、Lookup 等计算字段没有更新,或更新时间明显变长时,可以打开 **计算任务 Outbox**。它帮助实例管理员先判断问题来自 Redis 和 BullMQ、Worker 缺失、队列失败还是数据库积压,再查看对应的服务日志。

页面会采样 BullMQ 队列和数据库任务账本。它是只读监控,不会执行或重试任务。

## 查看健康状态

页面标题旁的状态汇总了最近一次采样结果:

| 状态 | 含义 |
| --- | --- |
| **健康** | BullMQ 可连接,已有 Consumer 接入,并且没有需要关注的任务积压。 |
| **降级** | 监控仍可运行,但采样发现队列任务失败、死信、执行超时、任务等待过久或数据数据库不可访问。 |
| **严重** | BullMQ 不可用,或者没有 Consumer 接入。 |

状态需要关注时,页面会在顶部列出具体原因。

## 查看队列和积压

| 区域 | 显示内容 |
| --- | --- |
| 摘要卡片 | 触发角色、BullMQ 连接和 Worker、等待执行、正在执行、执行超时和异常任务数量。 |
| BullMQ 实时队列 | 当前等待中、执行中、延迟、失败、暂停、优先和已保留完成任务数量。 |
| 最近完成的 BullMQ 任务 | 最近任务的任务 ID、Base ID、完成时间、处理耗时和尝试次数。 |
| 数据库任务账本 | 各数据数据库仍在跟踪的等待、延迟执行、正在执行、执行超时和死信任务。 |
| 当前进程活动 | 当前页面所连接应用进程最近观察到的发布和消费活动。 |

点击 **刷新** 可以立即请求一次新采样。页面也会按配置的监控间隔自动刷新,默认间隔为 30 秒。

## 根据结果继续排查

| 页面结果 | 后续检查 |
| --- | --- |
| 状态为 **严重** | 检查 Redis 连接,并确认至少有一个 Consumer 进程正在运行。 |
| 出现队列失败、死信或执行超时 | 查看后端任务错误日志,并确认应用进程运行正常。 |
| 等待执行数量和最长等待时间持续增加 | 对照 Worker 数量和正在执行的任务,检查 Consumer 容量和并发配置。 |
| 数据数据库不可访问 | 检查应用是否可以连接对应的数据数据库。 |

## 注意事项

- **已完成(保留)** 是 Redis 当前保留的已完成任务数,不是历史累计值。
- **当前进程活动** 会在应用进程重启后清空,也不会跨副本聚合。
- 如需查看历史速率、错误、延迟、队列深度和积压,请使用部署导出的 OpenTelemetry 指标。
- 必需的 Redis 连接通过[环境变量](/zh/deploy/env)配置。
1 change: 1 addition & 0 deletions zh/basic/admin-panel/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ description: "Teable 私有化部署的管理员后台,用于管理实例的
- **[AI 配置](/zh/basic/admin-panel/ai-setting)** - 配置 AI 功能和模型
- **[自动化管理](/zh/basic/admin-panel/automation-management)** - 查看自动化运行状态和历史记录
- **[表格查询运维](/zh/basic/admin-panel/table-query-ops)** - 分析表格查询风险和索引建议
- **[计算任务 Outbox](/zh/basic/admin-panel/computed-outbox)** - 监控计算任务投递、队列健康状态和数据库积压
- **[审计日志](/zh/basic/admin-panel/audit-log)** - 查看近期实例活动和操作详情
- **[沙箱 Agent](/zh/basic/admin-panel/sandbox-agent)** - 配置和管理沙箱 Agent

Expand Down
2 changes: 1 addition & 1 deletion zh/deploy/env.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ mode: "wide"
| STORAGE_PREFIX | 存储前缀,默认为 PUBLIC_ORIGIN | PUBLIC_ORIGIN | - | http://localhost:3000 |
| **缓存配置** | | | | |
| BACKEND_CACHE_PROVIDER | 缓存提供商,可选值:sqlite、memory、redis | sqlite | - | redis |
| BACKEND_CACHE_REDIS_URI | Redis 缓存连接 URI当 BACKEND_CACHE_PROVIDER 为 redis 时需要配置 | - | - | redis://default:teable@127.0.0.1:6379/0 |
| BACKEND_CACHE_REDIS_URI | 计算任务投递必需的 Redis 连接 URI当 BACKEND_CACHE_PROVIDER 为 redis 时也用于缓存 | - | 是 | redis://default:teable@127.0.0.1:6379/0 |
| **性能缓存配置** | | | | |
| BACKEND_PERFORMANCE_CACHE | 性能缓存 Redis URL,用于查询结果缓存,大幅提高多人协作场景下的处理效率,建议配置单独的 Redis 实例,不要与 BACKEND_CACHE_REDIS_URI 一样 | - | - | redis://default:teable@127.0.0.1:6379/0 |
| **认证配置** | | | | |
Expand Down