Add LandSAR cluster worker deployment

This commit is contained in:
2026-06-24 14:10:58 +08:00
parent 71c524967c
commit da09ba05cb
88 changed files with 9300 additions and 3011 deletions
@@ -0,0 +1,99 @@
# Gamma SBAS runtime observations - 2026-06-11
## 1. Interactive display window blocks unattended runs
Observed during run:
```text
run_id: sbas_c65c7486f76e
workflow: SBAS_GAMMA_WORKFLOW
stage: 02_import_lt1_slc.sh
date observed: 2026-06-11
```
User reported a Gamma/WSL display-style window during execution. The window only had a `Close` button. After the user clicked `Close`, the workflow continued.
Runtime checks later showed the same run was still in `02_import_lt1_slc.sh`, processing LT-1 scenes with `par_LT1_SLC`. The first two scenes completed:
```text
20230624 -> completed SLC import
20230726 -> completed SLC import
20230819 -> running at 2026-06-11 11:18 Asia/Shanghai
```
There was a large delay between the end of `20230726` and the start of `20230819`. This is consistent with a blocking interactive display process. The likely trigger is the browse/preview commands in the import step:
```bash
disSLC ...
dismph_fft ...
```
These commands are useful for expert visual inspection, but they are not acceptable as blocking UI windows in a managed background production workflow.
The same window was reported again later in the same run while the import step was still active. This confirms the issue is repeatable and should be treated as a workflow design defect, not a one-off operator/environment event.
For the active run, do not modify the generated shell script in place unless the operator explicitly chooses to skip the remaining interactive preview commands. A targeted intervention is possible only when the active child process is a display command such as `disSLC` or `dismph_fft`; terminating `par_LT1_SLC` or the parent bash process would risk corrupting or interrupting the import product.
## 2. Current operational decision
The operator changed the decision after the window repeated: stop this run, clear the run records, and audit/fix the production workflow before re-running.
Completed cleanup:
```text
run_id: sbas_c65c7486f76e
processes: stopped
run directory: deleted
system_tasks deleted: 1
system_jobs deleted: 1
catalog products deleted: 0
```
## 3. Required follow-up after this run
The fix must preserve expert-command equivalence for calculation commands while removing interactive blocking behavior.
Important distinction:
- `disSLC` and `dismph_fft` are expert command-line manual QC/display commands.
- They are not required numerical SBAS calculation steps.
- In a managed backend production workflow they must not open a UI window.
- The system should expose reviewable assets through generated rasters/previews and frontend visualization instead.
Implementation requirements:
1. Keep expert preview/browse products where they are generated by non-interactive raster/export commands.
2. Do not execute expert manual display commands in default backend production.
3. Never require an operator to click `Close` for a backend job to continue.
4. Add a workflow-level guard that detects display commands likely to open an interactive window.
5. Update run status reporting so the frontend shows the actual executing step instead of leaving `02_import_lt1_slc` as `PENDING` while the WSL process is running.
Candidate code area:
```text
backend/app/services/sbas_insar_production_service.py
_write_import_lt1_slc_script / 02_import_lt1_slc.sh generation
```
Related generated commands observed in the current script:
```bash
disSLC "${slc}" "${width}" 1 0 - - 1 1 "${SLC_DIR}/${date}.slc.bmp" || true
dismph_fft "${slc}" "${width}" 1 0 - - 1 1 "${SLC_DIR}/${date}.slc_fft.bmp" || true
```
Implementation decision:
- Remove `disSLC` and `dismph_fft` from generated unattended production scripts.
- Keep them in expert-document metadata as `manual_qc_tools`.
- Add script-write and command-audit guards so future generated scripts fail before execution if blocking display tools are present.
- Keep `ras*` commands that write explicit output BMP/GeoTIFF preview files; those are batch product-generation commands, not interactive display windows.
## 4. Acceptance criteria
After the fix:
- A full Gamma SBAS run can complete unattended from the web UI.
- No Gamma display window should require manual close.
- Preview BMP/PNG artifacts are still generated for inspection when feasible.
- The step status file and frontend task status reflect the active step during long-running shell scripts.