feat(worker): постмортем-анализ после failed/timeout
После завершения задачи со статусом failed/timeout воркер запускает постмортем-анализ (агент postmortem): разбирает сессии dev/reviewer, оценивает причины сбоя и шлёт владельцу уведомление с анализом. Статус задачи не меняет; сбои анализа не влияют на исход.
This commit is contained in:
@@ -196,6 +196,10 @@ func (w *Worker) pollAndDispatch(ctx context.Context) error {
|
||||
// dev-агент реализует, reviewer строго проверяет весь дифф ветки; при не-проходе
|
||||
// dev дорабатывает по комментариям; прошло → push ветки + success.
|
||||
func (w *Worker) runTask(ctx context.Context, task *storage.Task) (err error) {
|
||||
// 0. постмортем-анализ: если задача завершилась failed/timeout — после
|
||||
// выхода из runTask (всех путей) запускаем анализ сессий dev/reviewer.
|
||||
defer w.postMortemAfter(ctx, task, &err)
|
||||
|
||||
// 1. проверяем статус
|
||||
if task.Status != storage.StatusApproved {
|
||||
return fmt.Errorf("%w: task %d status=%q", ErrLaunch, task.ID, task.Status)
|
||||
|
||||
Reference in New Issue
Block a user