Back to GD Mail Queue (Lite) Forum

Mail stuck in queue

Published on: December 7, 2020 at 5:08 pm · By: rajphangureh
Author
Topic
#64919

Hi there

Our mail seems to queue normally, but all our mail has been sitting in our queue since December 2nd without being passed on to the MTA. There’s over 6000 emails right now, and it shows 100 locked in queue. It’s always showing that the next queue will run in <5min, but when the countdown ends the queue hasn’t changed.

I’ve tried to select a couple of emails in the log that have been queued but not sent, and choose “Retry Sending” but it returns a “Nothing done” message.

Nothing I can think of has changed in my setup since December 2nd. I’ve checked the PHP Mailer settings and tried a few different mail server settings, and nothing seems to happen. The mail server settings are verified working on other clients.

Is there any other way to force this queue to send?

Viewing 9 replies - 1 through 9 (of 9 total)
Author
Replies
  • #64923

    I have not seen such a problem before, I am not sure what is causing it. Do you have some errors logged in the server PHP error log? Because this doesn’t look like the sending failed, because queue statistics have only one email failed, so something else is going on.

    Dev4Press - Premium plugins for WordPress.

  • #64924

    Didn’t initially see anything in the Apache logs, but looked again with your suggestion, and there was the following line many times in the php-fpm log:

    WARNING: [pool www] server reached pm.max_children setting (5), consider raising it

  • #64925

    I’ve raised the value of pm.max_children to 25, and the error no longer appears in the php7.4-fpm log file. However, the GD Mail Queue plugin hasn’t changed at all. It’s still hung up.

  • #64926

    That option is not related to mail processing. This error is more of a server-oriented problem, you need to find a PHP error log.

    To get the PHP error log, check out this article: https://support.dev4press.com/kb/article/get-php-errors-from-the-server/. Or, you can configure WordPress to log errors: https://support.dev4press.com/kb/article/enable-wordpress-debug-mode/.

    Dev4Press - Premium plugins for WordPress.

  • #64927

    Unfortunately that was the only PHP error message in the logs. I’ve checked the Apache error log (which has other PHP messages that are unrelated) and the php7.4-fpm log I indicated already (PHP on Apache is run through the FastCGI Process Manager)

    There were no logs or errors I could find. It just doesn’t do anything but pile up in the queue. I’ve switched to another SMTP plugin in the meanwhile, but I’d really like to continue using GD Mail Queue specifically because of the queueing functionality. Plus, it would be nice to send out those 7000+ emails at some point.

  • #64928

    There has to be some error to explain what is failing, and most likely error logging is disabled on your server. You can configure WordPress to log errors: https://support.dev4press.com/kb/article/enable-wordpress-debug-mode/. And, once you do that, you try again to run the queue and see what gets logged in the WordPress debug.log file.

    Dev4Press - Premium plugins for WordPress.

  • #65113

    Just an FYI, I ended up deleting all the mail in the queue (not a big deal, since it was all almost 2 weeks old at that point) in the hopes that the queue would start working again, but it didn’t work. Brand new mail was just stuck and not being sent.

    Went to [ Settings -> Queue Processing -> Flexible Job ] and disabled it, and mail started working again. That was over a month ago, and nothing has gone wrong since. I’ve been happy with the lite plugin, and the jobs are still executed 1 minute apart even though the CRON job interval is set to 5 minutes. Not sure if there’s something strange with the Flexible Job setting, but disabling it worked well for me. Even though I don’t think I have a need for pro features, I’ll look into paying for the upgrade just in support of your efforts.

    Thanks!

  • #75414

    Same problem here, and I can provide more information.
    My system is a multisite installation. I’ve ruled out wordpress cron problems by using cavalcade, so I can see when the cron event is executed, and the gdmaq_run_queue hook is activated.

    What I see, is, that on one of the multisites (call it site 8), cron calls the gdmaq_run_queue hook, and the appropriate action is executed in gd mail queue.
    But when calling the gdmaq_run_queue for mulitisite number 5, the action gdmaq_run_queue ist not executed.
    It’s as if the gdmaq_run_queue hook was not registered at all for multisite number 5 – and I did not yet find out why that is.

    As a remedy, I’m currently doing this from a shell script, which executes the gdmaq_run_queue hook properly: (site number 5 is defined further up in the script)

    include("/var/www/wp-content/plugins/gd-mail-queue/gd-mail-queue.php");
    gdmaq()->plugins_loaded();
    do_action( 'gdmaq_run_queue');

    So the question is: Why does the plugin register the gdmaq_run_queue hook for cron properly for one multisite, but not for the other?

  • #75417

    Thanks for the information.

    So, is the website network active and running on all sites in the network? And, the cron hook is registered on all sites, including 5, but it doesn’t run on 5? Can you confirm that the cron job is there for number 5, or is it missing? If it is missing, it is the only site it is missing for? Do you have something in the error log related to the site 5?

    Milan

    Dev4Press - Premium plugins for WordPress.

Viewing 9 replies - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.