fix(mira/feed): soften wiki status badge — 30min 不算漏了
leo 反饋:『現在出現大量的漏了,是不是出錯?』 調查:watcher 一直在跑,但 cron 5min 一輪 × 一輪最多 20 raws, 21 個剛清的假處理 + 14 個歷史舊 raw 排隊處理需要多輪 cron。 舊邏輯 30 min 就標 ⚠️ 漏了 太兇,給用戶『系統壞了』錯覺。 新邏輯: - < 6 min: ⏳ 處理中 - 6 min ~ 6h: ○ 等待(含 ↻ 立即優先) ← 新增 - > 6h: ⚠️ 漏了 ↻ (跟 wiki_giveup_scanner 6h 閾值對齊) - wiki-give-up tag: 🚫 放棄 ↻ 對齊 scanner 邏輯:6h 前 watcher 仍會自動重試,這時間內顯示等待。 過 6h 才算真卡。
This commit is contained in:
@@ -2168,18 +2168,37 @@ function WikiStatusBadge({
|
|||||||
</span>
|
</span>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (minutes < 30) {
|
// 6min ~ 6h:watcher 仍會持續重試(一輪 20 個,多 raws 時要排幾輪)
|
||||||
|
// 顯示 ○ 等待 + 可選 ↻ 強制立即重試(不等下個 cron tick)
|
||||||
|
if (minutes < 360) {
|
||||||
|
const ageText = minutes < 60
|
||||||
|
? `${Math.floor(minutes)} 分鐘`
|
||||||
|
: `${Math.floor(minutes / 60)} 小時`;
|
||||||
return (
|
return (
|
||||||
<span title="排隊中等下一個 cron tick (5 分鐘一次)" style={{ color: '#aaa', fontSize: '0.85em' }}>
|
<span
|
||||||
○ 排隊
|
title={`已等 ${ageText} — watcher cron 5min 一輪,多筆排隊時要多輪。點 ↻ 立即優先處理`}
|
||||||
|
style={{ color: '#aaa', fontSize: '0.85em', display: 'inline-flex', gap: 4, alignItems: 'center' }}
|
||||||
|
>
|
||||||
|
○ 等待
|
||||||
|
<button
|
||||||
|
onClick={handleRetry}
|
||||||
|
disabled={retrying}
|
||||||
|
style={{
|
||||||
|
background: 'transparent', border: 'none', color: '#888',
|
||||||
|
fontSize: '0.85em', padding: 0, cursor: 'pointer',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{retrying ? '…' : '↻'}
|
||||||
|
</button>
|
||||||
</span>
|
</span>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
// > 6h:scanner 即將(或已)標 wiki-give-up,可確認真卡了
|
||||||
return (
|
return (
|
||||||
<button
|
<button
|
||||||
onClick={handleRetry}
|
onClick={handleRetry}
|
||||||
disabled={retrying}
|
disabled={retrying}
|
||||||
title={`已 ${Math.floor(minutes)} 分鐘未處理 — cron 應該已試多次。點擊強制重試一次`}
|
title={`已 ${Math.floor(minutes / 60)} 小時未處理 — cron 試過很多次都失敗。點擊強制重試`}
|
||||||
style={{
|
style={{
|
||||||
background: 'transparent', border: '1px solid #c66', color: '#c66',
|
background: 'transparent', border: '1px solid #c66', color: '#c66',
|
||||||
fontSize: '0.85em', padding: '0 6px', borderRadius: 4, cursor: 'pointer',
|
fontSize: '0.85em', padding: '0 6px', borderRadius: 4, cursor: 'pointer',
|
||||||
|
|||||||
Reference in New Issue
Block a user