v1.2.12: Mirror refresh runs in a child process, keeping search responsive
Mirror refresh runs in a child process, keeping search responsive
The scheduled HTTP-mode OAI-PMH refresh now spawns a child process for its
SQLite writes. The harvest's synchronous applyBatch transactions and the
closing SELECT COUNT(*) execute off the request event loop, so arxiv_search
and arxiv_get_metadata stay responsive throughout the harvest window. (#22)
Fixed:
- runRefreshSubprocess() replaces the in-process runHarvest() call in the
HTTP cron — harvest writes no longer block request serving (#22)
Added:
- ARXIV_MIRROR_REFRESH_TIMEOUT_MS (default 7200000, 2h) caps a single
refresh; SIGTERM then SIGKILL on overrun
356 tests pass; bun run devcheck clean.