From 76e810261994b5b4495cb0c22c9116414b022148 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Fri, 12 Oct 2018 12:03:47 +0200 Subject: [PATCH] fixed mail cannon performance --- saimod_mail.php | 6 +++--- sql/CONTACT_EMAIL_LIST_SELECT_LIST.php | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/saimod_mail.php b/saimod_mail.php index 6121d78..d6d3765 100644 --- a/saimod_mail.php +++ b/saimod_mail.php @@ -132,10 +132,10 @@ class saimod_mail extends \SYSTEM\SAI\sai_module{ } public static function send_list($email_id,$list){ - $list_handle = \SQL\CONTACT_EMAIL_LIST_SELECT_LIST::QQ(array($list)); - while($row = $list_handle->next()){ + $list_handle = \SQL\CONTACT_EMAIL_LIST_SELECT_LIST::QA(array($email_id,$list)); + foreach($list_handle as $row){ \set_time_limit(30); - self::send_mail($row['email'], $email_id, $list) ? 1 : 0; + self::send_mail($row['email'], $email_id, $list); \sleep(1); } return \SYSTEM\LOG\JsonResult::ok(); diff --git a/sql/CONTACT_EMAIL_LIST_SELECT_LIST.php b/sql/CONTACT_EMAIL_LIST_SELECT_LIST.php index 491c0ac..ad5bbee 100644 --- a/sql/CONTACT_EMAIL_LIST_SELECT_LIST.php +++ b/sql/CONTACT_EMAIL_LIST_SELECT_LIST.php @@ -4,6 +4,9 @@ namespace SQL; class CONTACT_EMAIL_LIST_SELECT_LIST extends \SYSTEM\DB\QP { public static function get_class(){return \get_class();} public static function mysql(){return -'SELECT email FROM contact_email_list WHERE list = ?;'; +'SELECT contact_email_list.email, email_sent.email as done FROM contact_email_list'. +' LEFT JOIN email_sent ON contact_email_list.email = email_sent.email AND email_sent.id = ?'. +' WHERE list = ?'. +' HAVING done IS NULL;'; } } \ No newline at end of file