feat: 自适应等待干扰数据并归档结果
This commit is contained in:
@@ -79,3 +79,11 @@
|
||||
- Candidate lookup uses a dependency-free 1 km Earth-centered three-dimensional grid index. Only the current and 26 adjacent buckets are checked, then Haversine distance confirms the exact radius; this avoids a full all-pairs scan while preserving distance accuracy.
|
||||
- Unit tests pass in both the project virtual environment and `interference-etl-runtime:1.1` image. A read-only real run for window `2026080613001400` produced 1,116 rows, including 1,110 with coordinates, 925 with non-zero nearby counts, and a maximum count of 39. All 1,116 indexed results matched a separate brute-force comparison, which found 3,973 qualifying pairs.
|
||||
- SSH deployment and Metrix runner execution `8f2fd51d7de14c93b4b0eb9bee8fafa0` succeeded for the same window. Database API verification found only `2026-08-06 13:00:00`, with 1,116 rows, 925 non-zero counts, a maximum of 39, and 3,973 nearby pairs. All six rows without coordinates have count `0`.
|
||||
|
||||
## 2026-08-06: Adaptive source waiting and history export
|
||||
|
||||
- Source recognition now fixes only the seven known prefixes and final `_YYYYMMDDHHMMHHMM.zip`; middle text may change with provider granularity. The first 12 digits are rounded down to natural 15-minute boundaries, while the final four end-time digits do not participate in grouping.
|
||||
- Each run follows only the group containing the globally newest source start time. It does not fall back or backfill older groups. Missing sources or no matching files produce `status=waiting` and a successful exit; storage API failures remain task failures. Multiple files from one source in a group select the latest source start time.
|
||||
- All workbook row start times must round into the target group. Result CSV and database rows use one normalized `metric_time` and the database result columns only; `hour_start` and `hour_end` were removed from summary CSV output.
|
||||
- Database time is checked before source ZIP and CellData downloads. A newer or equal database time skips source processing. Successful database output is archived through the Storage API under `干扰历史数据/YYYY-MM-DD/干扰数据处理结果_YYYYMMDDHHMMSS.csv`; an equal database time with a missing/empty history file is exported from the database and repaired.
|
||||
- Eighteen tests pass on Windows and in the offline runtime image. Live read-only selection saw incomplete newest group `2026-08-06 15:00:00`, correctly waited for missing `5G下FDD干扰监控`, and did not produce output. Explicit read-only validation of complete group `2026-08-06 14:00:00` produced 1,092 rows with one normalized `metric_time` and the expected nine-column result schema.
|
||||
|
||||
Reference in New Issue
Block a user