The crawl stalled when two crawler processes briefly overlapped on the same WAL SQLite frontier (node:sqlite is synchronous, so a blocked write lock froze the event loop). Fixes: - run the crawler as a single-instance systemd service (search-crawler.service) with CPUQuota=150% + MemoryMax=1200M so it can't starve a shared VM - add timeouts to all Meilisearch calls + resilient flush (an untimed hang was the amplifier that wedged every worker) - crawl-diskguard.sh + cron: auto-stop the crawl and ntfy-alert if disk < 800MB Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| crawl-diskguard.sh | ||
| deploy.env.example | ||
| deploy.sh | ||
| install-vm.sh | ||
| search-crawler.service | ||