CoverageWorker was silent between progress updates, so a stuck gdalwarp / runaway pixel loop showed up only as 'stuck at 15%' in the UI with nothing in k8s logs. Now every stage logs with the coverage id (terrain fetch, building load, per-tier LOS+NLOS, row band progress every 10%, finalize) and the row stream uses a 10-minute timeout with on_timeout: :kill_task so a hang surfaces as an explicit row-failed log line + NaN fill instead of a wedged worker. Unexpected exceptions now log with stacktrace and fail the coverage cleanly. |
||
|---|---|---|
| .. | ||
| mix/tasks | ||
| snmpkit | ||
| towerops | ||
| towerops_web | ||
| snmp_lib.ex | ||
| snmp_mgr.ex | ||
| snmpkit.ex | ||
| towerops.ex | ||
| towerops_native.ex | ||
| towerops_web.ex | ||