Files
Linux-Server-Management-Too…/modules/website/wordpress
cschantz 425cfcc7da CRITICAL PERFORMANCE FIX: Persistent domain cache with TTL
Problem: Script rescanned ALL domains on EVERY invocation because cache file
included process ID ($$), making it unique each time. For servers with hundreds
of domains, this caused 30-45 second hangs on startup.

Root cause: WP_CACHE_FILE="/tmp/wp-sites-cache-$$" was deleted on exit

Solution implemented:
1. Persistent cache file: /tmp/wp-sites-cache (no $$)
2. Cache TTL: 1 hour (3600 seconds) - automatic expiration
3. Removed cache deletion from exit trap
4. Updated both initialize_wp_cache() and get_wp_sites_cached() to check TTL
5. Added progress messages (cached vs fresh scan)

Performance improvement:
BEFORE: First run ~45s, every subsequent run ~45s (no caching)
AFTER:  First run ~45s, cached runs <1s (instant), refresh every hour

User experience:
- First run: "Scanning for WordPress installations (first run)..."
- Cached runs: "Using cached WordPress site list (refreshed hourly)"
- Stale cache: "Refreshing WordPress site list (cache expired)..."

This fixes the "insanely long" startup time the user reported.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-02 21:27:58 -05:00
..