fix(reaper): 收尾只发生在「轮首一次」,落定延迟实测中位 533s——窗口内的人工 reopen 必被 processed=True 静默覆盖
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 30/100
Direzione di ricerca
Read run_once in keeper.py: the reaper fires once at startup (:661-662), _process_resource returns early for in-flight items (:425-426), and the write-back at :2119-2121 unconditionally sets processed=True, clobbering the clear-processed enqueue reopen_issues relies on (:900-923). Trace the ordering load_state → _reap_pipelines → save_state to see how a manual reopen in the completion window is lost, then compare against the dispatch/reopen state fields. Done means a reopen recorded after dispatch survives the reap and is redispatched, with a state round-trip regression test; the three proposed fixes are options, so the approach needs deciding first.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
场景 gap 单(okguitar 提报)· 优先级 P1 · 依赖:无
基线 HEAD = c08c667。
Summary
- 收尾只在
run_once开头一次(keeper.py:661-662);在途项在_process_resource直接 return(:425-426)。实测 84 个 run:run 结束到「pipeline 完成」日志延迟中位 533s(区间 335-835s)。 - 收尾无条件覆盖人工处置:
keeper.py:2119-2121一律it.processed=True; in_flight_since=None;而reopen_issues靠清 processed 入队(:900-923)。顺序:load_state(661)读入 reopen →_reap_pipelines(662)写回processed=True→save_state(675)——人工在窗口内 reopen 被静默吃掉(CLI 还打印「keeper 下一轮会重新派发」)。 - 放大器:轮内同步 agent 调用(patrol,最长 3900s×5 条)可把窗口拉到 >1h。
影响
人工 reopen 白做(今日 #100/#97/#107 被反复 re-screen 即此痕迹);run 期间(1-2.5h)comment 层整体冻结。
建议
① 派发记 dispatch_epoch,reopen 写 manual_reopen_at,收尾见 reopen 晚于 dispatch 则跳过 processed 并直接重派;② 派发闸发现无槽位时先对在途做 pid 探活收尾再判;③ 允许 in-flight 期间处理评论(仅禁同 issue 新 run)。
- Lingua principale
- Python
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di jeffkit/issue-keeper
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
jeffkit/issue-keeper#19 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
jeffkit/issue-keeper#17 · 6 commenti ·
-
keeper-ignore
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
jeffkit/issue-keeper#16 · 2 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
jeffkit/issue-keeper#11 · 5 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 24/100
jeffkit/issue-keeper#5 · 18 commenti ·
Tutte le issue di jeffkit/issue-keeper
Issue simili
-
docs(types): update the collection binding note now that typed collections shipped in pycubrid 1.9.0Apertadocumentation priority: low size: S
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
cubrid-lab/sqlalchemy-cubrid#768 ·
I maintainer di solito rispondono entro 1 giorno
-
bug help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Broken link in index.rstApertadocumentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
ansys/pydpf-core#3547 ·
I maintainer di solito rispondono entro 1 giorno
-
core
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
vectorize-io/hindsight#5457 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: LangChain drops OpenAI Responses text blocks from session recordingForse già presa @ktz03 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
volcengine/OpenViking#5806 ·
I maintainer di solito rispondono entro 1 giorno