本文整理汇总了PHP中SendPress_Data::queue_email_process方法的典型用法代码示例。如果您正苦于以下问题:PHP SendPress_Data::queue_email_process方法的具体用法?PHP SendPress_Data::queue_email_process怎么用?PHP SendPress_Data::queue_email_process使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SendPress_Data
的用法示例。
在下文中一共展示了SendPress_Data::queue_email_process方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: send_mail_cron
static function send_mail_cron()
{
//@ini_set('max_execution_time',0);
global $wpdb;
$count = SendPress_Option::get('emails-per-hour');
$count = SendPress_Option::get('wpcron-per-call', 25);
$email_count = 0;
$attempts = 0;
if (SendPress_Manager::limit_reached($count)) {
return;
}
SendPress_Email_Cache::build_cache();
for ($i = 0; $i < $count; $i++) {
$email = SendPress_Data::get_single_email_from_queue();
if ($email != null) {
$attempts++;
SendPress_Data::queue_email_process($email->id);
$result = SendPress_Manager::send_email_from_queue($email);
$email_count++;
if ($result) {
if ($result === true) {
$wpdb->update(SendPress_Data::queue_table(), array('success' => 1, 'inprocess' => 3), array('id' => $email->id));
//( $sid, $rid, $lid=null, $uid=null, $ip=null, $device_type=null, $device=null, $type='confirm' )
//$wpdb->update( SendPress_Data::queue_table() , array('success'=>1,'inprocess'=>3 ) , array('id'=> $email->id ));
//$wpdb->insert(SendPress_Data::subscriber_tracker_table() , array('subscriberID'=>$email->subscriberID,'emailID'=>$email->emailID,'sent_at' => get_gmt_from_date( date('Y-m-d H:i:s') )) );
SPNL()->db->subscribers_tracker->add(array('subscriber_id' => intval($email->subscriberID), 'email_id' => intval($email->emailID)));
SendPress_Data::add_subscriber_event($email->subscriberID, $email->emailID, $email->listID, null, null, null, null, 'send');
} else {
$wpdb->update(SendPress_Data::queue_table(), array('success' => 2, 'inprocess' => 3), array('id' => $email->id));
SendPress_Data::add_subscriber_event($email->subscriberID, $email->emailID, $email->listID, null, null, null, null, 'bounce');
SendPress_Data::bounce_subscriber_by_id($email->subscriberID);
}
//$wpdb->insert( $this->subscriber_open_table(), $senddata);
$count++;
//SendPress_Data::update_report_sent_count( $email->emailID );
} else {
$wpdb->update(SendPress_Data::queue_table(), array('attempts' => $email->attempts + 1, 'inprocess' => 0, 'last_attempt' => date('Y-m-d H:i:s')), array('id' => $email->id));
}
} else {
//We ran out of emails to process.
break;
}
set_time_limit(30);
}
return;
}
示例2: send_single_from_queue
static function send_single_from_queue()
{
global $wpdb;
//$emails = $this->wpdbQuery("SELECT * FROM ".$this->queue_table()." WHERE success = 0 AND max_attempts != attempts LIMIT ".$limit,"get_results");
$count = 0;
$attempts = 0;
$queue_table = SendPress_Data::queue_table();
if (SendPress_Manager::limit_reached()) {
return array('attempted' => $attempts, 'sent' => $count);
}
SendPress_Email_Cache::build_cache();
$email = SendPress_Data::get_single_email_from_queue(true);
if (is_object($email)) {
//$email = $email[0];
if (SendPress_Manager::limit_reached()) {
return array('attempted' => $attempts, 'sent' => $count);
}
$attempts++;
SendPress_Data::queue_email_process($email->id);
$result = SendPress_Manager::send_email_from_queue($email);
if ($result) {
if ($result === true) {
$wpdb->update(SendPress_Data::queue_table(), array('success' => 1, 'inprocess' => 3), array('id' => $email->id));
//( $sid, $rid, $lid=null, $uid=null, $ip=null, $device_type=null, $device=null, $type='confirm' )
$wpdb->insert(SendPress_Data::subscriber_tracker_table(), array('subscriberID' => $email->subscriberID, 'emailID' => $email->emailID, 'sent_at' => get_gmt_from_date(date('Y-m-d H:i:s'))));
SendPress_Data::add_subscriber_event($email->subscriberID, $email->emailID, $email->listID, null, null, null, null, 'send');
} else {
$wpdb->update(SendPress_Data::queue_table(), array('success' => 2, 'inprocess' => 3), array('id' => $email->id));
SendPress_Data::add_subscriber_event($email->subscriberID, $email->emailID, $email->listID, null, null, null, null, 'bounce');
SendPress_Data::bounce_subscriber_by_id($email->subscriberID);
}
$count++;
} else {
$wpdb->update($queue_table, array('attempts' => $email->attempts + 1, 'inprocess' => 0, 'last_attempt' => date('Y-m-d H:i:s')), array('id' => $email->id));
}
} else {
//We ran out of emails to process.
return array('attempted' => $attempts, 'sent' => $count);
}
//SendPress_Manager::increase_email_count( $attempts );
return array('attempted' => $attempts, 'sent' => $count);
}
示例3: fetch_mail_from_queue
static function fetch_mail_from_queue()
{
@ini_set('max_execution_time', 0);
global $wpdb;
$count = SendPress_Option::get('emails-per-hour');
$emails_per_hour = SendPress_Option::get('emails-per-hour');
if (SendPress_Manager::limit_reached()) {
return;
}
for ($i = 0; $i < $count; $i++) {
$email = $this->wpdbQuery("SELECT * FROM " . SendPress_Data::queue_table() . " WHERE success = 0 AND max_attempts != attempts AND inprocess = 0 ORDER BY id LIMIT 1", "get_row");
if ($email != null) {
if (SendPress_Manager::limit_reached()) {
break;
}
$attempts++;
SendPress_Data::queue_email_process($email->id);
$result = SendPress_Manager::send_email_from_queue($email);
$email_count++;
if ($result) {
$wpdb->update(SendPress_Data::queue_table(), array('success' => 1, 'inprocess' => 3), array('id' => $email->id));
$senddata = array('sendat' => date('Y-m-d H:i:s'), 'reportID' => $email->emailID, 'subscriberID' => $email->subscriberID);
//$wpdb->insert( $this->subscriber_open_table(), $senddata);
$count++;
SendPress_Data::register_event('send', $email->subscriberID, $email->emailID);
// SendPress_Data::update_report_sent_count( $email->emailID );
} else {
$wpdb->update(SendPress_Data::queue_table(), array('attempts' => $email->attempts + 1, 'inprocess' => 0, 'last_attempt' => date('Y-m-d H:i:s')), array('id' => $email->id));
}
} else {
//We ran out of emails to process.
break;
}
}
return;
}