public function action_send_daily() { gc_enable(); $x = 1; while ($x <50) { echo memory_get_peak_usage(). " start
"; $members = NULL; $members = DB::select('id', 'email') ->from('members') //original member query ->where('send_update','=','Y') ->where('email_confirmed', '=', 'Y') ->where('send_update_frequency','=','daily') //->where('members.emailed_am', '=', 'N') ->and_where_open() ->where('send_update_time','=','am') ->or_where('send_update_time', '=', 'am_pm') ->and_where_close() ->and_where_open() ->where('member_type_id', '=', '1') //subscribed ->or_where('member_type_id', '=', '4') //trial ->or_where('member_type_id', '=', '5') // Prospect ->or_where('member_type_id', '=', '6') // Comp ->or_where('member_type_id', '=', '7') // Said No ->and_where_close() ->where('emailed_am','=', "N") //->limit(2) ->as_object() ->execute() ->current(); //echo memory_get_peak_usage(). " members
"; //foreach ($members as $m) // { $m = $members; $emails = NULL; $emails = DB::select() ->from('emailerscheds') //end original ->where('sent_day', '=', "0") ->where('day', '=', 'Y') ->where('member_id', '=', $m->id) ->order_by('topic_id') ->as_object() ->execute(); echo memory_get_peak_usage(). " emails
"; // echo $emails->count(). " " . $m->id; //exit; if ($emails->count() > 0 ) { //echo $emails->count()." - $m->id
"; //exit; $art = 0; //$member_id = 0; $topic_id = 0; $send = ""; $next = "N"; $last_member_id = 0; $first = "Y"; $tpic_id = 0; $subject = ""; $last_email = ""; $article_push = array(); $send_html = NULL; $send_text = NULL; $send = NULL; $send_txt = NULL; foreach ($emails as $e) { echo memory_get_peak_usage(). " emails ID $e->id
"; if (! in_array($e->article_id, $article_push)) { if ($topic_id != $e->topic_id) { $send .= '

'. $e->topic_name. '

'; $send_txt = "\n". $e->topic_name. "\n \n"; $topic_id = $e->topic_id; } $send .=''. $e->title. '

'; $send_txt .= $e->title. "\n". Kohana::$config->load('general')->get('site_url'). '/emailer/check/'. $e->member_id .'_'. $e->article_id. "\n \n"; $subject = '['. Kohana::$config->load('general')->get('site_name') . '] '. $e->title; $art = $e->article_id; $last_id = $e->id; $arr = array( "sent_day" => time(), ); $sent_to_member = DB::update("emailerscheds") ->set($arr) ->where('id', '=', $e->id) ->execute(); $sent_to_member = NULL; unset($sent_to_member); array_push($article_push, $e->article_id); } echo memory_get_peak_usage(). " emails after loop ID $e->id
"; } echo memory_get_peak_usage(). " emails before saving
"; //send email $send_html = View::factory('emailer/daily_v2'); $send_text = View::factory('emailer/daily_text_v2'); $send_html->send = $send; $send_html->member_id = $last_member_id; $send_html->last_id = $e->id; $send_text->send_text = $send_txt; $send_text->member_id = $last_member_id; $member_email = $m->email; $save_email = NULL; // $save_email = $this->emailer_sendgrid($member_email, $subject, $send_html, $send_text); $save_email =NULL; $set = array('name', 'from_email', 'email', 'subject', 'body', 'body_text', 'member_id'); $massemail = NULL; $massemail = array( "", "arnold.gamboa@gmail.com",$member_email,$subject,$send_html, $send_text, $last_member_id); $emailsent = DB::insert('massemails', $set)->values($massemail)->execute(); $send_html= NULL;; $send_text = NULL; $send= NULL;; $send_txt = NULL; $emailsent = NULL; $massemail = NULL; echo memory_get_peak_usage(). " after saving
"; //echo $member_email. ' '. $send_text; // echo $send. "
----"; // echo memory_get_peak_usage(). " unset email loop
"; } $emailed = DB::update('members') ->set(array('emailed_am'=>"Y")) ->where('id','=', $m->id) ->execute(); // echo memory_get_peak_usage(). " update members
"; $emails = NULL; unset($emails); echo memory_get_peak_usage(). " emails DESTRUCT
"; //} $emails = NULL; $members= NULL; unset($members); unset($emails); $m = NULL; unset($m); unset($emailsent); echo memory_get_peak_usage(). " members DESTRUCT
"; gc_collect_cycles(); //sleep(1); $x++; }//end of endless loop //echo "done"; }