This commit is contained in:
brusnitsyn
2026-06-10 16:53:03 +09:00
parent ff810e59bc
commit b5d1f61a82
9 changed files with 640 additions and 151 deletions

View File

@@ -109,11 +109,23 @@ class Config:
ENABLE_TIMESCALE = os.getenv('ENABLE_TIMESCALE', 'false').lower() == 'true'
DRY_RUN = os.getenv('DRY_RUN', 'false').lower() == 'true'
READ_LIMIT = int(os.getenv('READ_LIMIT', '0')) or None
QUEUE_POLL_SECONDS = float(os.getenv('QUEUE_POLL_SECONDS', '1'))
QUEUE_POLL_SECONDS = float(os.getenv('QUEUE_POLL_SECONDS', '1800'))
SCHEDULE_GRACE_SECONDS = int(os.getenv('SCHEDULE_GRACE_SECONDS', '60'))
START_API_WORKER = os.getenv('START_API_WORKER', 'true').lower() == 'true'
CREATE_FOREIGN_KEYS = os.getenv('CREATE_FOREIGN_KEYS', 'true').lower() == 'true'
def validate(self):
"""Проверка обязательных параметров конфигурации."""
missing = []
if not self.MSSQL_CONNECTION_STRING:
missing.append('MSSQL_CONNECTION_STRING')
if not self.POSTGRES_CONNECTION_STRING:
missing.append('POSTGRES_CONNECTION_STRING')
if missing:
raise ValueError(
f"Обязательные переменные окружения не заданы: {', '.join(missing)}"
)
# Настройки таблиц. Для инкрементальной миграции заполните life_table
# primary_key и exclude_columns, чтобы запись можно было делать идемпотентно.
DEFAULT_TABLE_MIGRATIONS = [