- Add mutex to cron jobs to prevent overlapping runs - Replace Promise.all with batched processing (50/batch) in updateStaleClubs - Configure HTTP connection pooling with keep-alive (maxSockets: 50) - Add memory monitoring to scan progress logs - Reduce CONCURRENT_API_CALLS from 8 to 5 to reduce Sharp memory pressure