易信IOS开发范例代码是一个由浙江翼信科技有限公司官方发布的完整的易信通讯软件苹果端接入范例,用户可以参照易信苹果开发范例代码来使用易信苹果开发工具包自行进行编程开发,范例代码内容非常详细,使用起来还是非常方便的。
易信苹果开发范例代码演示
下面演示一个异步邮件发送系统的开发过程,涉及知识点:
异步消息队列多进程守护进程如何使用消息队列实现异步
PHP使用消息队列通常是使用中间件来实现,常用的消息中间件有:
redisrabbitmqkafka
本次我们选用redis来实现异步邮件发送,redis的数据类型中有一个list类型,可实现消息队列,使用以下命令:
//入列
$redis->lpush($key,$data);
//出列
$data=$redis->rpop($key);
//阻塞出列
$data=$redis->brpop($key,10);
易信苹果开发范例代码生产者开发
在邮件发送这个需求中生产者是指投递发送任务的一方,这一方通常是一个接口或网页,这个部分并不一定需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));
通常异步开发中,投递完成后就会立即响应一个消息给用户,当然此时该任务并没有执行。
易信苹果开发范例代码架构设计
本实例由传统MVC框架投递邮件发送需求,MixPHP多进程执行发送任务。
邮件发送库选型
以往我们通常使用框架提供的邮件发送库,或者网上下载别的用户分享的库,composer出现后,https://packagist.org/上有大量优质的库,我们只需选择一个最好的即可,本例选择swiftmailer。
由于发送任务是由MixPHP执行,所以swiftmailer是安装在MixPHP项目中,在项目根目录中执行以下命令安装:
composerrequireswiftmailer/swiftmailer
∨ 展开