moex-vibe/apps/docs/docs/backend/configuration.md
Sergey Krylov 106467e5c4
All checks were successful
CI / lint (pull_request) Successful in 2m8s
CI / test (pull_request) Successful in 1m57s
CI / build (pull_request) Successful in 2m5s
CI / lint (push) Successful in 2m1s
CI / test (push) Successful in 1m51s
CI / build (push) Successful in 2m9s
docs: translate docs to russian
2026-06-16 05:13:34 +03:00

2.2 KiB
Raw Blame History

Конфигурация

Конфигурация загружается через @nestjs/config из config/configuration.ts и env-переменных.

Переменные окружения

Переменная По умолчанию Описание
PORT 3000 Порт HTTP-сервера
MOEX_BASE_URL https://iss.moex.com/iss Базовый URL MOEX ISS API
MOEX_RATE_LIMIT 10 Максимум запросов в секунду к MOEX
MOEX_CIRCUIT_BREAKER_THRESHOLD 5 Количество ошибок до открытия circuit breaker
MOEX_CIRCUIT_BREAKER_RESET_SECONDS 30 Время в секундах до сброса circuit breaker
CACHE_MARKET_DATA_TTL 900 TTL рыночных данных (секунды)
CACHE_HISTORY_TTL 3600 TTL истории торгов (секунды)
CACHE_CANDLES_TTL 3600 TTL свечей (секунды)
CACHE_SECURITY_TTL 86400 TTL спецификации инструмента (секунды)
CACHE_SEARCH_TTL 3600 TTL результатов поиска (секунды)
CACHE_DIVIDENDS_TTL 86400 TTL дивидендов (секунды)

Файл конфигурации

apps/backend/src/config/configuration.ts:

registerAs('app', () => ({
  port: parseInt(process.env.PORT || '3000', 10),
  moex: {
    baseUrl: process.env.MOEX_BASE_URL || 'https://iss.moex.com/iss',
    rateLimit: parseInt(process.env.MOEX_RATE_LIMIT || '10', 10),
    circuitBreakerThreshold: parseInt(process.env.MOEX_CIRCUIT_BREAKER_THRESHOLD || '5', 10),
    circuitBreakerResetSeconds: parseInt(
      process.env.MOEX_CIRCUIT_BREAKER_RESET_SECONDS || '30', 10,
    ),
  },
  cache: {
    marketDataTtl: parseInt(process.env.CACHE_MARKET_DATA_TTL || '900', 10),
    historyTtl: parseInt(process.env.CACHE_HISTORY_TTL || '3600', 10),
    candlesTtl: parseInt(process.env.CACHE_CANDLES_TTL || '3600', 10),
    securityTtl: parseInt(process.env.CACHE_SECURITY_TTL || '86400', 10),
    searchTtl: parseInt(process.env.CACHE_SEARCH_TTL || '3600', 10),
    dividendsTtl: parseInt(process.env.CACHE_DIVIDENDS_TTL || '86400', 10),
  },
}));