Руководство по эксплуатации продакшена
Этот runbook можно использовать как ежедневный шаблон эксплуатации.
Ежедневные проверки
- Проверка статуса сервисов (
docker compose psили оркестратор). - Проверка зависимостей через
npx @tradejs/cli doctor. - Smoke-проверка API и базовых страниц UI.
- Контроль доступности Redis/Postgres и нагрузки.
Диагностика инцидента
- Определите проблемный слой: app, connectors, Redis, Postgres, ML, AI.
- Снимите логи до рестарта (если ситуация не критическая).
- Поймите масштаб: глобально или только часть стратегий/символов.
- Примените локальную меру и оцените эффект.
Рекомендуемый порядок рестарта
timescale,redisml-inferappnginx/ingress при необходимости
Ночная автоматизация исследований
Если вы запускаете автоматические исследования стратегий в продакшене, держите
их в отдельном контейнере agent, а не внутри основного процесса приложения.
Рекомендуемый паттерн:
- контейнер
appобслуживает UI, API, runtime signals и обычные operational cron-задачи - контейнер
agentзапускает только ночной research/agent cron - nightly flow стартует с
npx @tradejs/cli research:autoпо фиксированному расписанию, например в00:00поEurope/Moscow research:autoвыбирает стратегию с самым старым или отсутствующим research run, сохраняет эффективный config как<Strategy>:research, выполняетbacktest --ai -> ai-export -> ai-train --localOnly, пишет run в Redis, отправляет Telegram-отчет и затем вызываетnpx @tradejs/cli agent-runagent-runиспользует OpenRouter сopenai/gpt-5.4,reasoning effort=medium, создаёт review-ветку отstable, валидирует патч и пушит отдельную ветку для ручного разбора
Требования к deployment:
- смонтировать в
agentконтейнер полноценный clone репозитория с.git - передать в
agentконтейнер GitHub credentials для push, обычно через отдельный SSH key только для branch pushes - хранить OpenRouter и Telegram credentials в runtime user settings, которые использует CLI
Минимальные настройки:
OPENAI_API_ENDPOINT=https://openrouter.ai/api/v1OPENAI_API_KEY=<OpenRouter key>TG_BOT_TOKENTG_CHAT_ID
Rollback
- Храните предыдущие теги образов
appиml-infer. - При необходимости откатывайте приложение и модельные alias независимо.
- После отката прогоняйте
doctorи smoke-проверки.