2.2 KiB
2.2 KiB
MODIFIED Requirements
Requirement: High-risk query_tool paths SHALL migrate to slow-query execution
Functions currently using read_sql_df (fast pool, 55s timeout) that handle unbounded or user-driven queries SHALL be migrated to read_sql_df_slow (dedicated connection, 300s timeout) to prevent timeout failures.
Scenario: Serial number resolution uses slow-query path
- WHEN
_resolve_by_serial_number()executes resolver SQL queries - THEN queries SHALL use
read_sql_df_slowinstead ofread_sql_df
Scenario: Work order resolution uses slow-query path
- WHEN
_resolve_by_work_order()executes resolver SQL queries - THEN queries SHALL use
read_sql_df_slowinstead ofread_sql_df
Scenario: Equipment query functions use slow-query path
- WHEN
get_equipment_status_hours(),get_equipment_lots(),get_equipment_materials(),get_equipment_rejects(), orget_equipment_jobs()execute equipment SQL queries - THEN queries SHALL use
read_sql_df_slowinstead ofread_sql_df
Requirement: High-risk query_tool paths SHALL use engine decomposition for large inputs
Selected query functions SHALL delegate to BatchQueryEngine for ID decomposition when the resolved input set is large.
Scenario: Large serial number batch triggers engine decomposition
- WHEN
_resolve_by_serial_number()is called with more IDs thanBATCH_QUERY_ID_THRESHOLD - THEN IDs SHALL be decomposed via
decompose_by_ids() - THEN each batch SHALL be executed through the existing resolver SQL
Scenario: Equipment period queries use engine time decomposition
- WHEN equipment period queries span more than
BATCH_QUERY_TIME_THRESHOLD_DAYS - THEN the date range SHALL be decomposed via
decompose_by_time_range()
Requirement: Existing resolve cache strategy SHALL be reviewed for heavy query patterns
Scenario: Route-level short-TTL cache extended for high-repeat patterns
- WHEN a query pattern is identified as high-repeat (same parameters within minutes)
- THEN result caching SHALL be considered using
redis_df_store - THEN cache TTL SHALL align with the service's data freshness requirements