设备创新后台
Add AsyncDbWorker: a persistent background thread with dedup queue that executes DB2 writes asynchronously, keeping the mon 20ms cycle free of blocking I/O. Changes: - async_db_worker.h/.cc: singleton worker, submit() with rule_id dedup, drain_and_stop() for clean shutdown - eqp_stat.h/.cc: new update_static(ruleid, shear_times, running_time) overload that skips redundant DB reads for known values (reduces 5 SELECTs to 3 per persist cycle) - exp_times.cc: extract persist_exp_times() as a standalone function, update_history_times() snapshots values and submits to worker (returns immediately), reset_dev_data() uses direct SHM update - eqpalg_icei.cpp: alg_mgr_.reset() → drain_and_stop() in destructor ensures all algorithm threads are stopped before draining the worker Risk: re-run cmake .. to pick up the new async_db_worker.cc file. |
||
|---|---|---|
| .vscode | ||
| cmake_include | ||
| config | ||
| dsm | ||
| eqpalg | ||
| eqpm | ||
| inc | ||
| mix_cc | ||
| py | ||
| RICS | ||
| script/table | ||
| shm | ||
| src | ||
| TestProject | ||
| third_party | ||
| .gitignore | ||
| EIS_README.md | ||