易信IOS开发范例代码是一个由浙江翼信科技有限公司官方发布的完整的易信通讯软件苹果端接入范例,用户可以参照易信苹果开发范例代码来使用易信苹果开发工具包自行进行编程开发,范例代码内容非常详细,使用起来还是非常方便的。
下面演示一个异步邮件发送系统的开发过程,涉及知识点:
异步消息队列多进程守护进程如何使用消息队列实现异步
PHP使用消息队列通常是使用中间件来实现,常用的消息中间件有:
redisrabbitmqkafka
本次我们选用redis来实现异步邮件发送,redis的数据类型中有一个list类型,可实现消息队列,使用以下命令:
//入列
$redis->lpush($key,$data);
//出列
$data=$redis->rpop($key);
//阻塞出列
$data=$redis->brpop($key,10);
本实例由传统MVC框架投递邮件发送需求,MixPHP多进程执行发送任务。
邮件发送库选型
以往我们通常使用框架提供的邮件发送库,或者网上下载别的用户分享的库,composer出现后,https://packagist.org/上有大量优质的库,我们只需选择一个最好的即可,本例选择swiftmailer。
由于发送任务是由MixPHP执行,所以swiftmailer是安装在MixPHP项目中,在项目根目录中执行以下命令安装:
composerrequireswiftmailer/swiftmailer
在邮件发送这个需求中生产者是指投递发送任务的一方,这一方通常是一个接口或网页,这个部分并不一定需mixphp开发,TP、CI、YII这些都可以,只需在接口或网页中把任务信息投递到消息队列中即可。
在传统MVC框架的控制器中增加如下代码:
通常框架中使用redis会安装一个类库来使用,本例使用原生代码,便于理解。
//连接
$redis=new\\Redis();
if(!$redis->connect('127.0.0.1',6379)){
thrownew\\Exception('RedisConnectFailure');
}
$redis->auth('');
$redis->select(0);
//投递任务
$data=[
'to'=>['***@qq.com'=>'Aname'],
'body'=>'Hereisthemessageitself',
'subject'=>'Thetitlecontent',
];
$redis->lpush('queue:email',serialize($data));
通常异步开发中,投递完成后就会立即响应一个消息给用户,当然此时该任务并没有执行。
七达网下载C语言编程软件下载专区提供了最好用的C语言编程软件和C语言编辑器下载。
七达网下载提供编程软件排行榜,编程是一款深奥的计算机语言,而我们要通过编程软件来学习实践编程语言的工具,为了最好的学习编程,我们提供最好的编程软件推荐,随着计算机硬件和软件技术的发展,计算机的编程语言...
编程工具 / 102.8 MB
编程工具 / 870.6 MB
编程工具 / 4.95 MB
编程工具 / 791 MB
编程工具 / 113.36 MB
软件评论
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!