Blog Sections Open
Preventing Memory Exhaustion in Eletters Queues
Mail queues fail in two common ways: delivery errors and memory exhaustion. The original Eletters case behind this article was the second type, with the queue process crashing before it could finish sending. Typical Erro
Mail queues fail in two common ways: delivery errors and memory exhaustion. The original Eletters case behind this article was the second type, with the queue process crashing before it could finish sending.
Typical Error
Fatal error: Allowed memory size ... exhausted
What Usually Causes It
- too many recipients loaded into memory at once
- heavy message rendering per item
- large datasets queried without batching
- insufficient PHP memory for the queue worker
Better Approach
Do not treat newsletter sending as one giant synchronous request. Break it into chunks, limit selection size, and move the expensive work into smaller queue steps or cron-driven batches.
This kind of failure is operational, not editorial. Once message volume grows, the queue architecture matters as much as the mail content.
Normalizing Repeated Slashes in Evolution CMS URLs
How to handle URLs that arrive with repeated slashes and why redirecting or rejecting them should be done deliberately.
Configuring HTTP and HTTPS Correctly in Evolution CMS
A practical guide to MODX_SITE_URL, manager URLs, and SSL transitions when a legacy Evolution site moves from HTTP to HTTPS.