就是会员注册之后发邮件的情况。
我这里写了函数,就是注册最后一步里加了发邮件的方法。
但是发现发邮件很耗时间。
所以我把这两个分为两个函数了。
我想问的是。如果用异步的方式,用户注册之后跳到该跳的页面的同时,不影响用户的情况下执行发邮件函数。
我这里写了函数,就是注册最后一步里加了发邮件的方法。
但是发现发邮件很耗时间。
所以我把这两个分为两个函数了。
我想问的是。如果用异步的方式,用户注册之后跳到该跳的页面的同时,不影响用户的情况下执行发邮件函数。
比如说pcntl_fork()产生分进程去处理你的邮件发送工作!
相对起来还是前端的ajax来的方便!
下面是我手头上一个项目里的后台发送邮件的部分代码class Cmail extends Daemon
{
/**
* 继承父类Demon的抽象方法work()(必须)
*
*/
public function work ()
{
global $_db_mail;
$_db_mail->query("update mail_queue set email_status='sending' limit 10");
$qid = $_db_mail->query("select * from mail_queue where email_status='sending'");
$mms = $_db_mail->fetch_array($qid);
$send_mail_nums = 0;
$single = dirname(__FILE__).'/cmail-single.php';
foreach ($mms as $item)
{
shell_exec("/usr/local/webserver/php/bin/php {$single} {$item['enter_time']} {$item['id']} {$item['email_tab']}");
$send_mail_nums ++;
}
/****必须对例程行为进行最后描述(比如操作了多少条数据)****/
$this->taskinfo = "启动邮件队列:产生{$send_mail_nums}条分进程";
}
}$cmail_obj = new Cmail('cmail',10);