Three proposals addressing the 2026-02-25 trace pipeline OOM crash (114K CIDs): 1. trace-events-memory-triage: fetchmany iterator (read_sql_df_slow_iter), admission control (50K CID limit for non-MSD), cache skip for large queries, early memory release with gc.collect() 2. trace-async-job-queue: RQ-based async jobs for queries >20K CIDs, separate worker process with isolated memory, frontend polling via useTraceProgress composable, systemd service + deploy scripts 3. trace-streaming-response: chunked Redis storage (TRACE_STREAM_BATCH_SIZE=5000), NDJSON stream endpoint (GET /api/trace/job/<id>/stream), frontend ReadableStream consumer for progressive rendering, backward-compatible with legacy single-key storage All three proposals archived. 1101 tests pass, frontend builds clean. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51 lines
1.3 KiB
YAML
51 lines
1.3 KiB
YAML
# Conda environment for MES Dashboard
|
|
# Usage: conda env create -f environment.yml
|
|
# conda activate mes-dashboard
|
|
#
|
|
# Note: Packages use bounded ranges (>=,<) to avoid accidental major-version breaks.
|
|
# For reproducible builds, generate a lock file: pip freeze > requirements.lock
|
|
|
|
name: mes-dashboard
|
|
channels:
|
|
- conda-forge
|
|
- defaults
|
|
dependencies:
|
|
# Python version - pinned for consistency across deployments
|
|
- python=3.11
|
|
# Frontend build toolchain (Vite)
|
|
- nodejs>=22
|
|
|
|
# Use pip for Python packages (better compatibility with pypi packages)
|
|
- pip
|
|
- pip:
|
|
# Core Framework
|
|
- flask>=3.0.0,<4.0.0
|
|
|
|
# Database
|
|
- oracledb>=2.0.0,<4.0.0
|
|
- sqlalchemy>=2.0.0,<3.0.0
|
|
|
|
# Data Processing
|
|
- pandas==2.3.3 # Pin DBAPI2-compatible release for current pd.read_sql flow
|
|
- pyarrow>=17.0.0,<20.0.0 # Parquet serialization for Redis DataFrame cache
|
|
- openpyxl>=3.0.0
|
|
|
|
# Cache (Redis)
|
|
- redis>=5.0.0,<6.0.0
|
|
- hiredis>=2.0.0,<4.0.0 # C parser for better performance
|
|
|
|
# Task Queue (async trace jobs)
|
|
- rq>=1.16.0,<2.0.0
|
|
|
|
# HTTP Client
|
|
- requests>=2.28.0,<3.0.0
|
|
|
|
# Configuration
|
|
- python-dotenv>=1.0.0,<2.0.0
|
|
|
|
# WSGI Server (Production)
|
|
- gunicorn>=21.2.0,<25.0.0
|
|
|
|
# System Monitoring
|
|
- psutil>=5.9.0,<7.0.0
|