Email Queue Processing Job #
Sends version release notification emails to customers.
Job Details #
| Property | Value |
|---|---|
| Hook | dmsilm_us_process_email_queue |
| Schedule | Every 15 minutes |
| Batch size | Configurable in settings (default: 50) |
What It Does #
- Queries
wp_dmsilm_us_email_queuefor pending emails (status = pending, attempts < 3) - Sends up to [batch_size] emails using WordPress's
wp_mail() - Marks successfully sent emails as "sent"
- On failure: increments attempt counter and records the error message
- After 3 failures: email is abandoned (no more retry)
When Emails Are Queued #
Emails enter the queue when you publish a version that has "Send Email Notification" checked AND global email notifications are enabled. One email row is created per active license holder for that product.
Monitoring the Queue #
The Update Server Stats dashboard widget shows the current pending queue count. A count of zero means all queued emails have been sent.
Troubleshooting #
If emails are not sending:
- Verify WP-Cron is not disabled (
DISABLE_WP_CRONin wp-config.php) - Check that WordPress can send email (Settings > System Status, or use WP Mail SMTP's test)
- Check the email settings in DDLS > Settings > Update Server (is global email enabled? Is batch size > 0?)
- If the queue count is not decreasing over 15-minute intervals, WP-Cron may not be running
Manually Triggering the Job #
You can manually trigger the email queue job by visiting your site's wp-cron.php URL, or by using WP CLI:
wp cron event run dmsilm_us_process_email_queue
