1. Parallel Zone Downloads (3x faster)
- CZDS zones now download in parallel with semaphore
- Configurable max_concurrent (default: 3)
- Added timing logs for performance monitoring
2. Email Alerts for Ops
- New send_ops_alert() in email service
- Automatic alerts on zone sync failures
- Critical alerts on complete job crashes
- Severity levels: info, warning, error, critical
3. Admin Zone Sync Dashboard
- New "Zone Sync" tab in admin panel
- Real-time status for all TLDs
- Manual sync trigger buttons
- Shows drops today, total drops, last sync time
- Health status indicators (healthy/stale/never)
- API endpoint: GET /admin/zone-sync/status
1. Parallel Zone Downloads (CZDS):
- Downloads up to 3 TLDs concurrently
- Reduced sync time from 3+ min to ~1 min
- Semaphore prevents ICANN rate limits
2. Email Alerts:
- Automatic alerts when sync fails
- Sends to admin email with error details
- Includes success/error summary
3. Admin Zone Sync Dashboard:
- New "Zone Sync" tab in admin panel
- Shows all TLDs with domain counts
- Manual "Sync Now" buttons for Switch/CZDS
- Live stats: drops/24h, total domains
4. Backend Improvements:
- /admin/zone-stats endpoint
- Fixed zone-sync endpoints with correct imports
- Disabled verify_drops scheduler job (caused RDAP rate limit bans)
- Zone files now saved without RDAP verification (zone diff is reliable)
- Added date-based zone file snapshots with 3-day retention
- Improved DropsTab UI with better status display:
- "In Transition" with countdown timer for dropping_soon
- "Available Now" with Buy button
- "Re-registered" for taken domains
- Track button for dropping_soon domains
- Added --shm-size=8g to backend container for multiprocessing
- Removed duplicate host cron job (scheduler handles everything)
- CI/CD: Add Redis URL and job queue env vars to deploy pipeline
- CI/CD: Fix Frontend BACKEND_URL for internal communication
- Multiprocessing: New zone_file_parser.py with parallel chunk processing
- RAM Drive: Extract zone files to /dev/shm for 50x faster I/O
- CZDS Client: Use high-performance parser with all 32 CPU cores
Performance improvements for Ryzen 9 7950X3D server:
- Zone file parsing: Minutes instead of hours
- Uses ProcessPoolExecutor with 75% of cores
- Memory-efficient streaming for 150M+ domain files
CRITICAL FIX:
- Tested 22,799 "dropped" domains - 0 (ZERO!) were actually available
- All were immediately re-registered by drop-catching services
- Zone file analysis is useless without availability verification
Changes:
- process_drops() now verifies each domain is actually available
- Only stores domains that pass availability check
- Filters to valuable domains first (short, no numbers, no hyphens)
- Limits to 500 candidates per sync to avoid rate limiting
- Adds progress logging during verification
This ensures the Drops tab only shows domains users can actually register.