Files
admin/.tasks/NEXT_SESSION.md

3.3 KiB
Raw Blame History

last_updated: 2026-08-20T22:00:00Z session_id: sched-cancel-fixed-2026-08-20

Next session handoff

Сессия: cancel-баг закрыт — schedd 0.9.0 применён, cancel-тест зелёный. Ждём GO на реальный мок-publish.

DONE: schedd 0.9.0 применён + cancel-тест ЗЕЛЁНЫЙ

  • schedd.Dockerfile: @sched/daemon@0.8.0@sched/daemon@0.9.0 (verdaccio latest, core 0.48.0), commit 225d235c, запушен.
  • docker compose up -d --build schedd — контейнер healthy.
  • Cancel-тест (полный ран ozon, state {} → full run, cancel на generate):
    • schedd: [sched] [cancel] POST http://ozon-seller-builder:8080/cancel/<runId> runId=... + [cancel] ack runId=... status=200форвардинг реально слал сигнал (в 0.8.0 не слался никогда).
    • воркер: [cancel] received runId=... + [cancel] flag set; generate докрутился → [stage] generate done[cancel] stop before stage fix.
    • Стадии fix/build/postman/state/publish НЕ выполнялись; state.json остался {}; ран cancelled (error: cancelled by user).
  • Root cause подтверждён: daemon-диспетчер не форвардил cancel → теперь форвардит по task.runner, нет хука → no-op.

Стенд (host-stacks/local/sched-pipelines)

  • schedd 0.9.0, ym-client-builder свежий (cancel-канал + логи), ozon свежий. Все контейнеры Up, schedd healthy.
  • tasks.json: ozon stages [...publish] dryRun:true; yandex stages [...publish, githubDistro] dryRun:true. DRY_RUN=1 в compose.
  • Ozon state.json на хосте (bind-mount), {} — следующий ран полный (initial).

Мок-publish статус

  • Мок-npm = verdaccio (verdaccio.kzntsv.site), мок-GitHub = Gitea (git.kzntsv.site, орга apilki, push x-access-token:TOKEN@ проверен).
  • Оба dry-publish зелёные: yandex 13/13 (publish+githubDistro), ozon 10/10 (publish dryRun preview). GitHub/Gitea/verdaccio чисты — ноль мутаций.
  • Репо руками НЕ создаём — create-if-missing воркеров (тестируемый сценарий).
  • data dryRun в тасках: registry/remoteBase/githubApiBase через __PUBLISH_*__ плейсхолдеры в render-tasks.cjs (из .env, gitignored).

Спроси user'а

  1. GO на реальный мок-publish: снять dryRun:true → воркеры реально публикуют в verdaccio (npm) + Gitea (репо/релизы). Теперь безопасно: cancel останавливает воркера, dry-run инфраструктура мок-окружения (не npmjs/github.com).
  2. VDS-миграция — после пары дней локально.

Не делать

  • Не запускать реальные публикации в npmjs/github.com (реальный publish без dryRun на реальные endpoints) без явного GO.
  • Не слать реальные письма unisender — только мок (unisender-mock).
  • Не патчить код команд — ТЗ через их инбоксы/доски.
  • Не коммитить в репо команд — только в .admin.