Files
Linux-Server-Management-Too…/modules/website/wordpress
cschantz 1d8c9237ca CRITICAL FIX: Cron staggering now uses all 60 minutes
Fixed critical bug where cron staggering only used 20 time slots (0, 3, 6, 9...57)
instead of all 60 minutes, causing multiple websites to be scheduled at same time.

Previous Bug:
- minute * 3 calculation limited to 20 slots
- 200 sites → 10 sites per time slot (NOT staggered!)
- Multiple sites would run wp-cron simultaneously → server overload

Fix Applied:
- Use direct modulo: CRON_OFFSET % 60
- All 60 minutes now used for staggering
- Perfect distribution of load across the hour

Results After Fix:
- 60 sites: 1 site per minute (perfect spacing)
- 100 sites: ~1.67 per minute (evenly distributed)
- 200 sites: ~3.33 per minute (evenly distributed)
- 500 sites: ~8.33 per minute (evenly distributed)

Impact:
- Prevents server overload from simultaneous wp-cron execution
- Even large hosting accounts (500+ sites) properly staggered
- No more "thundering herd" problem

Testing:
-  Verified spacing for 10, 50, 100, 200, 250, 500 sites
-  Perfect distribution across all 60 minutes
-  No duplicate minute assignments

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