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.

Newer post

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.

Older post

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.