2.2 KiB
2.2 KiB
Конфигурация
Конфигурация загружается через @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),
},
}));