Merge pull request #732: prioritize terminal simulation failure
Stop polling on explicit runner failure even when platform counters could imply completion.
This commit is contained in:
commit
e16456575e
|
|
@ -513,12 +513,21 @@ const fetchRunStatus = async () => {
|
|||
|
||||
// 检测模拟是否已完成(通过 runner_status 或平台完成状态判断)
|
||||
const isCompleted = data.runner_status === 'completed' || data.runner_status === 'stopped'
|
||||
const isFailed = data.runner_status === 'failed'
|
||||
|
||||
// 额外检查:如果后端还没来得及更新 runner_status,但平台已经报告完成
|
||||
// 通过检测 twitter_completed 和 reddit_completed 状态判断
|
||||
const platformsCompleted = checkPlatformsCompleted(data)
|
||||
|
||||
if (isCompleted || platformsCompleted) {
|
||||
// An explicit runner failure is authoritative. Platform completion flags
|
||||
// can be stale or partial when one subprocess exits successfully before
|
||||
// another subprocess fails, so inferred completion must not mask it.
|
||||
if (isFailed) {
|
||||
addLog(t('log.simFailed') + (data.error ? `: ${data.error}` : ''))
|
||||
phase.value = 2
|
||||
stopPolling()
|
||||
emit('update-status', 'error')
|
||||
} else if (isCompleted || platformsCompleted) {
|
||||
if (platformsCompleted && !isCompleted) {
|
||||
addLog(t('log.allPlatformsCompleted'))
|
||||
}
|
||||
|
|
@ -1264,4 +1273,4 @@ onUnmounted(() => {
|
|||
animation: spin 0.8s linear infinite;
|
||||
margin-right: 6px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -537,6 +537,7 @@
|
|||
"stopException": "Stop error: {error}",
|
||||
"allPlatformsCompleted": "✓ All platform simulations have ended",
|
||||
"simCompleted": "✓ Simulation completed",
|
||||
"simFailed": "✗ Simulation failed",
|
||||
"reportRequestSent": "Report generation request sent, please wait...",
|
||||
"startingReportGen": "Starting report generation...",
|
||||
"reportGenTaskStarted": "✓ Report generation task started: {reportId}",
|
||||
|
|
|
|||
|
|
@ -537,6 +537,7 @@
|
|||
"stopException": "停止异常: {error}",
|
||||
"allPlatformsCompleted": "✓ 检测到所有平台模拟已结束",
|
||||
"simCompleted": "✓ 模拟已完成",
|
||||
"simFailed": "✗ 模拟失败",
|
||||
"reportRequestSent": "报告生成请求已发送,请稍候...",
|
||||
"startingReportGen": "正在启动报告生成...",
|
||||
"reportGenTaskStarted": "✓ 报告生成任务已启动: {reportId}",
|
||||
|
|
|
|||
Loading…
Reference in New Issue