[2026-09-28 07:31:15] taiga-vault: family/documents/vault-sync/2026-09-28-http402-balance-outage-3.md
This commit is contained in:
1 parent
0ac3efb2f5
commit
ea7e83f222
1 file changed
+88
@@ -0,0 +1,88 @@
|
||||
---
|
||||
date: 2026-09-28
|
||||
tags: [vault-sync, cron, incident, deepseek, provider, http402]
|
||||
---
|
||||
|
||||
# 2026-09-28 — третий 402-эпизод: sync стоял 74 мин (13 тиков), 06:15–07:20 UTC
|
||||
|
||||
## Что случилось
|
||||
|
||||
Тики cron-задачи `sync-vault` (id `29851c413903`) падали с
|
||||
|
||||
```
|
||||
RuntimeError: HTTP 402: Insufficient Balance (request_id: …)
|
||||
```
|
||||
|
||||
| параметр | значение |
|
||||
|---|---|
|
||||
| первый упавший тик | `06:15:43` UTC (7,4 с) |
|
||||
| последний упавший | `07:20:02` UTC (7,6 с) |
|
||||
| упавших тиков | **13** (каждый 4,3–8,9 с — отказ LLM API, не git) |
|
||||
| последний успешный до сбоя | `06:10:42` (21,6 с; лог-строки `06:10:51/55/57`) |
|
||||
| дыра в `/tmp/vault-sync.log` | `06:10:57 → 07:25:07` = **74,2 мин** |
|
||||
|
||||
Скрипт в упавших тиках не запускался вообще (prompt-задача без `--no-agent`), поэтому
|
||||
фаза «телефон → bare» и обе обратные фазы не выполнялись.
|
||||
|
||||
## Восстановление (само)
|
||||
|
||||
Первый успешный тик — `07:25:02` (completed за 25,1 с): догнал бэклог Eagle/Kraken
|
||||
`Updating 1e44c42..6dfedbc` (`personal/plans/balda-callee-prism-plan.md` +63/−9,
|
||||
`personal/plans/balda-mm-pr8-review-fixes.md` — mode-flip), три фазы `Pushed ✓`.
|
||||
|
||||
Второй тик (проверочный, Taiga, `07:30:03`) влил остаток бэклога `Updating 6dfedbc..0ac3efb`:
|
||||
`family/projects/media-toolbox-taiga.md`, `personal/plans/flaresolverr-taiga-deploy.md`,
|
||||
`personal/tech/flaresolverr-taiga.md` — 3 файла, +259/−265 (переписаны два flaresolverr-файла).
|
||||
Потерь нет — git-синк идемпотентен, всё доехало за два тика.
|
||||
|
||||
## Проверка после восстановления (2026-09-28 07:32 UTC)
|
||||
|
||||
```
|
||||
bare 0ac3efb2f552fcb017a7ac48a16c8888b00f6409
|
||||
/vault 0ac3efb2f552fcb017a7ac48a16c8888b00f6409
|
||||
/obsidian-syncthing 0ac3efb2f552fcb017a7ac48a16c8888b00f6409
|
||||
git status --porcelain → пусто в обоих клонах
|
||||
git ls-files -u → 0 в обоих клонах
|
||||
маркеры конфликта вне fenced-блоков → 0 (python-обход)
|
||||
origin /obsidian-syncthing → file:///vault.git, insteadOf → 2 правила
|
||||
Push failed 1 (историческая гонка 09-27 10:46), Fetch failed 4 (исторические 09-26 09:40)
|
||||
ошибок хука post-receive (host-путь) 0, «No such file» 0, лог 28547 строк
|
||||
```
|
||||
|
||||
## Статистика окна (executions.db)
|
||||
|
||||
Таблица обрезается до последних ~1001 записи; окно: `2026-09-24 20:10 → 2026-09-28 07:30` UTC.
|
||||
|
||||
| статус | всего |
|
||||
|---|---|
|
||||
| non-completed | 68 |
|
||||
| из них 402 `09-25 10:45→15:05` | 53 |
|
||||
| из них 402 `09-28 06:15→07:20` | **13 (этот эпизод)** |
|
||||
| из них 503 `09-23 07:35` | 1 |
|
||||
| из них running (текущий тик) | 1 |
|
||||
|
||||
## Вывод: третий 402-эпизод, тренд по длительности хуже не стал
|
||||
|
||||
| эпизод | тиков | длительность |
|
||||
|---|---|---|
|
||||
| 2026-09-21 03:55 → 04:20 | 6 | 35,3 мин |
|
||||
| 2026-09-25 10:45 → 15:05 | 53 | 264,6 мин |
|
||||
| **2026-09-28 06:15 → 07:20** | **13** | **74,2 мин** |
|
||||
|
||||
Эпизоды повторяются с периодичностью ~3 суток и всегда заканчиваются сами (внешнее
|
||||
пополнение баланса). 402 — это про деньги на счёте провайдера, а не про git; пока баланс
|
||||
пуст, падают **все** prompt-задачи Hermes, потому что каждый тик требует LLM-раунда.
|
||||
|
||||
Что стоит сделать (решение владельца, Taiga молча не меняет):
|
||||
|
||||
1. **Запас на балансе DeepSeek / авто-пополнение** — снимает 402-эпизоды целиком.
|
||||
2. **Убрать LLM из петли sync:** `hermes cron edit 29851c413903 --no-agent --script <path>`
|
||||
(ловушка: `--script` ждёт файл под `~/.hermes/scripts/`, а `/root/.hermes` в контейнере
|
||||
не переживает рекреацию — нужен персистентный путь, симлинк на `/opt/data/`).
|
||||
3. Пин модели/провайдера (`--model` / `--provider`) как страховка от деградации одного провайдера.
|
||||
|
||||
## Связанные заметки
|
||||
|
||||
- `family/documents/vault-sync/2026-09-21-http402-balance-outage.md` — первый эпизод (6 тиков, 35 мин)
|
||||
- `family/documents/vault-sync/2026-09-25-http402-balance-outage.md` — второй, худший эпизод (53 тика, 4 ч 25 мин)
|
||||
- скилл `vault-sync-infrastructure` → разделы «Разрыв >30 мин» и «Возможное устранение»
|
||||
Reference in new issue
Block a user