Merge remote-tracking branch 'nas/main'
This commit is contained in:
commit
d6cff4c739
3 files changed
+99
-4
No files matched your search
@@ -99,10 +99,10 @@ related:
|
||||
- [ ] [Метод исключения](https://www.kinopoisk.ru/film/484791/) (2025) IMDb 7.6 KP 7.1
|
||||
- [ ] [Сын льва](https://www.kinopoisk.ru/film/5940932/) (2025) IMDb 7.3
|
||||
- [ ] ⬇️ [Я ругаюсь](https://www.kinopoisk.ru/film/8472578/) (2025) IMDb 8.4 KP 8.5
|
||||
- [ ] ⬇️ Кокаиновый медведь
|
||||
- [x] ⬇️ Кокаиновый медведь
|
||||
- [ ] ⬇️ Они придут за тобой
|
||||
- [ ] ⬇️ Наш флаг означает смерть ✭
|
||||
- [ ] ⬇️ Проект конец света
|
||||
- [x] ⬇️ Проект конец света
|
||||
- [ ] Пропеллер ночной рейс в один конец
|
||||
- [x] ⬇️ Неистовый
|
||||
- [ ] ⬇️ Поступь хаоса
|
||||
@@ -185,7 +185,7 @@ related:
|
||||
- [ ] 🧟♀️ Субстанция
|
||||
- [ ] Мальчишки из никеля
|
||||
- [ ] Я всё ещё здесь
|
||||
- [ ] 🧟♀️ Смерть единорога
|
||||
- [ ] 🧟♀️ Смерть единорога ⭐
|
||||
- [ ] 🧟♀️ Ужасающий
|
||||
- [ ] 🧟♀️ Человеческая многоножка
|
||||
- [ ] Песочный человек
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
---
|
||||
date: 2026-09-21
|
||||
tags: [vault-sync, cron, incident, deepseek, provider]
|
||||
---
|
||||
|
||||
# 2026-09-21 — простой sync 30 мин из-за HTTP 402: Insufficient Balance (провайдер)
|
||||
|
||||
## Что случилось
|
||||
|
||||
Шесть подряд тиков cron-задачи `sync-vault` (id `29851c413903`) упали с ошибкой
|
||||
провайдера LLM:
|
||||
|
||||
```
|
||||
RuntimeError: HTTP 402: Insufficient Balance
|
||||
```
|
||||
|
||||
Тики: `03:55:11`, `04:00:12`, `04:05:13`, `04:10:14`, `04:15:15`, `04:20:16` UTC.
|
||||
Каждый падал за 3–14 с — это отказ на стороне LLM API, не на стороне git.
|
||||
|
||||
Следствие: `/tmp/vault-sync.log` — дыра `03:50:18 → 04:25:34` (35,3 мин, 7 пропущенных слотов).
|
||||
Последний успешный тик до сбоя: `03:50:10` (completed).
|
||||
|
||||
## Восстановление
|
||||
|
||||
Тик `04:25:18` (ручной прогон `bash /opt/data/sync-vault.sh`) — **completed**, exit 0,
|
||||
все три фазы `Pushed ✓`. Баланс/провайдер к этому моменту снова отвечал.
|
||||
|
||||
Бэклог за время простоя влит одним махом:
|
||||
|
||||
```
|
||||
[2026-09-21 04:25:34] [syncthing] Pushed ✓
|
||||
[main 5e02428] syncthing: family/documents/movies-watchlist.md personal/documents/fly-box.md
|
||||
Merge made by the 'ort' strategy.
|
||||
family/plans/watchlist-cleanup.md | 78 +++++++++++++++++++++++++++++++-----
|
||||
Updating 6d83071..80c062f (Fast-forward)
|
||||
family/documents/movies-watchlist.md | 6 +--
|
||||
personal/documents/fly-box.md | 9 ++++-
|
||||
[2026-09-21 04:25:47] [taiga-vault] Pushed ✓
|
||||
[2026-09-21 04:25:49] [syncthing-out] Pushed ✓
|
||||
```
|
||||
|
||||
Проверка выравнивания (все три SHA равны, рабочие каталоги чистые):
|
||||
|
||||
```
|
||||
bare 80c062f3fbf5a9909cfc1f8b839b7a4abcd4086a
|
||||
/vault 80c062f3fbf5a9909cfc1f8b839b7a4abcd4086a
|
||||
/obsidian-syncthing 80c062f3fbf5a9909cfc1f8b839b7a4abcd4086a
|
||||
git status --porcelain → пусто (оба клона)
|
||||
```
|
||||
|
||||
**Данные не потеряны** — git-синк идемпотентен, следующий удачный тик догнал всё.
|
||||
|
||||
## Причина
|
||||
|
||||
`HTTP 402: Insufficient Balance` — исчерпан баланс аккаунта LLM-провайдера (DeepSeek).
|
||||
Задача `sync-vault` — prompt-задача, каждый тик требует LLM-раунда, поэтому при нулевом
|
||||
балансе скрипт вообще не запускается: падает не git, падает агентский раунд.
|
||||
|
||||
Это **новый, ранее не встречавшийся в таком объёме** режим отказа: до этого в
|
||||
`executions.db` был лишь однократный 402 (в заметке `2026-09-14-cron-api-timeout-sync-outage.md`
|
||||
он упоминался как повод «проверить баланс провайдера»).
|
||||
|
||||
## Статистика окна (executions.db, окно 2026-09-17 11:40 → 2026-09-21 04:25)
|
||||
|
||||
| статус | всего |
|
||||
|---|---|
|
||||
| completed | 979 |
|
||||
| failed | 20 (6 из них — HTTP 402 сегодня) |
|
||||
| unknown | 1 |
|
||||
| running | 1 (текущий) |
|
||||
|
||||
Ошибка 402: ровно 6 записей, окно `03:55:11 → 04:20:16` — единичный эпизод, не серия.
|
||||
|
||||
## Вывод и что делать
|
||||
|
||||
1. Эпизод короткий, самовосстановившийся, потерь данных нет — вмешательство в конфиг
|
||||
sync **не требуется**.
|
||||
2. Но 402 — это про деньги на счёте провайдера, а не про git. Пока баланс пуст, падают
|
||||
**все** cron-задачи Hermes, а не только sync. Стоит проверить баланс DeepSeek и
|
||||
держать запас / настроить авто-пополнение.
|
||||
3. Радикальное устранение самой зависимости от LLM в этой петле — перевод задачи в
|
||||
`--no-agent --script` (см. раздел «Возможное устранение» в скилле
|
||||
`vault-sync-infrastructure`): тогда 402/таймауты провайдера перестанут ронять sync.
|
||||
|
||||
## Связанные заметки
|
||||
|
||||
- `family/documents/vault-sync/2026-09-20-morning-sync-outage.md` — предыдущий эпизод (3 ч 10 мин, таймауты провайдера)
|
||||
- скилл `vault-sync-infrastructure` → разделы «Разрыв >30 мин» и «Exit code 0, но push не случился»
|
||||
@@ -24,7 +24,7 @@ related:
|
||||
- [x] 79030136520687 лакричный чай 5.9
|
||||
- [x] 79137783238536 свитч 7.9
|
||||
- [x] 79138973034806 велобутылк
|
||||
- [ ] YT0705650145204 FishFriend 12.97
|
||||
- [ ] YT0705650145204 FishFriend 12.9
|
||||
- [ ] JT3176847308531 Прикуриватель 12.9
|
||||
- [x] 777443251715545 трусы
|
||||
- [ ] 79138780629095 штатив для тел 12.9
|
||||
@@ -52,6 +52,13 @@ related:
|
||||
- [ ] 79034152548062 ram
|
||||
- [ ] 79034172033129 orangepi case
|
||||
- [ ] 79034214421518 orangepi
|
||||
- [ ] 79142348623888 thermal pad
|
||||
- [ ] 465696325892217 oral-b
|
||||
- [ ] 777447485817868 eth hub
|
||||
- [ ] 79142684363226 usb hub
|
||||
- [ ] YT0709028531963 eth розетка
|
||||
- [ ] 465703194433665 свитч
|
||||
- [ ]
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user