Sending stops after an hour

I have a customer whose mailing list has 466 subscribers. Until mid-July it was running successfully on shared hosting at release 3.6.15 and the mailings would go out in one session which took 2 hours, 20 minutes.
I then installed a new copy of phpList on a different domain on shared hosting from a different company and at release 3.6.16, and copied over the subscriber details. I also mirrored the relevant config.php parameters (see below) which specify an interval of 18 seconds between emails, i.e. 200/hour. However, mailings now run for an hour and stop after 199 messages have been sent. The campaign has to be requeued twice in order to complete the mailing. I would like to be able to send the mailing in one go.
I can think of three possible reasons for this different behaviour:

  • The new hosting service (Krystal) stops long-running tasks after an hour. I have asked them and they say they don’t do this.
  • The behaviour has changed between release 3.6.15 and 3.6.16
  • My config.php contains an error despite my belief it has been set up correctly. I think the relevant entries are in the Queue and Load management section and they are
define('MANUALLY_PROCESS_QUEUE', 1);
define('MAX_PROCESS_MESSAGE', 999);
define('MAILQUEUE_BATCH_SIZE', 0);
define('MAILQUEUE_BATCH_PERIOD', 3600);
define('MAILQUEUE_THROTTLE',18); # 200 messages / hour
define('MAILQUEUE_AUTOTHROTTLE', 0);
define('USE_DOMAIN_THROTTLE', 0);
define('DOMAIN_BATCH_SIZE', 1);
define('DOMAIN_BATCH_PERIOD', 120);
define('DOMAIN_AUTO_THROTTLE', 0);
define('MAX_PROCESSQUEUE_TIME', 0);

Any suggestions would be gratefully appreciated.

your batch period is 3600, which is 1 hour. that’s why it is stopping. If you want it to keep going, change that to say 3 hours… 3600 x 3 = 10,800 seconds.
Another option is to setup a cron job to automatically send if something is ready in the queue. (and you can setup a cron job to process the bounces, too…)

Thanks for your reply. I did actually try that before posting here, but the mailing still stopped after one hour. And the batch period was also 3600 on the old system, and that ran to completion. I shall try to set up a cron job.

Just to tie this one up, the cron job approach has worked. The requeuing is now done automatically.