状态机概览
已注册的状态机及其运行状态
{{ totalMachines }}
状态机
{{ totalRunning }}
运行中
{{ totalFailed }}
失败
{{ totalSuspended }}
已挂起
状态机列表
{{ m.name }}
v{{ m.versionCount }}
{{ m.runningInstances }} 运行中
{{ m.failedInstances }} 失败
{{ m.suspendedInstances }} 已挂起
暂无已注册的状态机
{{ machineName }}
状态机流程定义
版本 {{ v.version }}
{{ formatTime(v.registeredAt) }}
步骤详情
步骤
类型
转换目标
{{ idx + 1 }}
{{ state.name }}
{{ getStateType(state.name, v.transitions) }}
{{ state.name }} → {{ t.to }}
实例概览
{{ currentMachineStats?.runningInstances || 0 }}
运行中
{{ currentMachineStats?.failedInstances || 0 }}
失败
{{ currentMachineStats?.suspendedInstances || 0 }}
已挂起
过滤:
| 实例 ID | 状态机 | 业务 ID | 重试 | 状态 | 错误信息 | 时间 | |
|---|---|---|---|---|---|---|---|
| {{ i.id }} | {{ i.machineName }} | {{ i.businessId || '-' }} | {{ i.retryCount }} | {{ statusLabel(i.status) }} | {{ i.errorMessage }} | — | {{ relativeTime(i.createdAt) }} |
{{ machineFilterStatus || machineFilterBusinessId || machineFilterInstanceId ? '没有符合条件的实例' : '暂无实例' }}
第 {{ machinePage + 1 }} / {{ machineTotalPages }} 页,共 {{ machineTotalElements }} 条
实例列表
{{ machineName }}
过滤:
{{ shortId(i.id) }}
{{ statusLabel(i.status) }}
{{ relativeTime(i.createdAt) }}
{{ filterStatus ? '没有符合条件的实例' : '暂无实例' }}
{{ statusLabel(instanceDetail.instance.status) }}
实例 ID
{{ instanceDetail.instance.id }}
状态机
{{ instanceDetail.instance.machineName }}
当前状态
{{ instanceDetail.instance.currentState }}
重试次数
{{ instanceDetail.instance.retryCount }}
错误信息
{{ instanceDetail.instance.errorMessage }}
创建时间
{{ instanceDetail.instance.createdAt }}
流程图
执行快照
{{ (instanceDetail.snapshots || []).length }} 步
ADVANCE: {{ s.stateName }}
{{ s.errorMessage }}
IN
{{ jsonSummary(s.input) }}
{{ isSnapshotIoExpanded(s.id, 'in') ? formatJson(s.input) : s.input }}
OUT
{{ jsonSummary(s.output) }}
{{ isSnapshotIoExpanded(s.id, 'out') ? formatJson(s.output) : s.output }}
{{ s.stateName }} → {{ parseRouteOutput(s.output) }}
{{ s.errorMessage }}
{{ s.stateName }}
{{ s.errorMessage }}
IN
{{ jsonSummary(s.input) }}
{{ isSnapshotIoExpanded(s.id, 'in') ? formatJson(s.input) : s.input }}
OUT
{{ jsonSummary(s.output) }}
{{ isSnapshotIoExpanded(s.id, 'out') ? formatJson(s.output) : s.output }}
实例详情
{{ statusLabel(drawerInstance.status) }}
实例 ID
{{ drawerInstance.id }}
状态机
{{ drawerInstance.machineName }}
当前状态
{{ drawerInstance.currentState }}
重试次数
{{ drawerInstance.retryCount }}
错误信息
{{ drawerInstance.errorMessage }}
创建时间
{{ drawerInstance.createdAt }}
流程图
执行快照
{{ drawerSnapshots.length }} 步
ADVANCE: {{ s.stateName }}
{{ s.errorMessage }}
IN
{{ jsonSummary(s.input) }}
{{ isDrawerIoExpanded(s.id, 'in') ? formatJson(s.input) : s.input }}
OUT
{{ jsonSummary(s.output) }}
{{ isDrawerIoExpanded(s.id, 'out') ? formatJson(s.output) : s.output }}
{{ s.stateName }} → {{ parseRouteOutput(s.output) }}
{{ s.errorMessage }}
{{ s.stateName }}
{{ s.errorMessage }}
IN
{{ jsonSummary(s.input) }}
{{ isDrawerIoExpanded(s.id, 'in') ? formatJson(s.input) : s.input }}
OUT
{{ jsonSummary(s.output) }}
{{ isDrawerIoExpanded(s.id, 'out') ? formatJson(s.output) : s.output }}
{{ toastMsg }}