eis/eqpalg/utility
Huamonarch f80a917ab7 Async-ify ExpTimes DB persistence with global singleton worker thread
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.
2026-05-13 13:32:50 +08:00
..
alarm_handler.hpp Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
alarm_poster.cc Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
alarm_poster.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
async_db_worker.cc Async-ify ExpTimes DB persistence with global singleton worker thread 2026-05-13 13:32:50 +08:00
async_db_worker.h Async-ify ExpTimes DB persistence with global singleton worker thread 2026-05-13 13:32:50 +08:00
build_alarm_info.cc Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
build_alarm_info.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
build_json_from_alarm_Info.cc Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
build_json_from_alarm_Info.h Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
condition_monitor.hpp Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
eqp_stat.cc Async-ify ExpTimes DB persistence with global singleton worker thread 2026-05-13 13:32:50 +08:00
eqp_stat.h Async-ify ExpTimes DB persistence with global singleton worker thread 2026-05-13 13:32:50 +08:00
eqp_status.cc Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
eqp_status.h Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
ExpModule.cc Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
ExpModule.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
HoldTime.cc Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
HoldTime.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
item2chinese.hpp Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
proxy_py.cc Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
proxy_py.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
segvCatch.0000h Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
StatExp.hpp Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
update_data.cc Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
update_data.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
VarsCache.hpp Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
XorShift128Plus.hpp Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00