CRM-17629: Stop processing jobs if mailer batch limit reached
authorJKingsnorth <john@johnkingsnorth.co.uk>
Tue, 12 Jan 2016 15:17:24 +0000 (15:17 +0000)
committerJKingsnorth <john@johnkingsnorth.co.uk>
Tue, 12 Jan 2016 15:17:24 +0000 (15:17 +0000)
CRM/Mailing/BAO/MailingJob.php

index 619bd8ccb8a401dee47d523d1740c473a2665bc7..21fd3c9d554aa1e8216cd277ab3278f55416547e 100644 (file)
@@ -89,6 +89,7 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
     $config = CRM_Core_Config::singleton();
     $jobTable = CRM_Mailing_DAO_MailingJob::getTableName();
     $mailingTable = CRM_Mailing_DAO_Mailing::getTableName();
+    $mailerBatchLimit = Civi::settings()->get('mailerBatchLimit');
 
     if (!empty($testParams)) {
       $query = "
@@ -215,6 +216,12 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
       if ($testParams) {
         return $isComplete;
       }
+
+      // CRM-17629: Stop processing jobs if mailer batch limit reached
+      if ($mailerBatchLimit > 0 && self::$mailsProcessed >= $mailerBatchLimit) {
+        break;
+      }
+
     }
   }