易信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
易信是网易同中国电信共同出品的一款非常好用的即时聊天软件。那么易信软件可靠吗?软件本身安全上可信,绝对不是第三方随意抄写的违法盗取手机信息的软件,所以7down小编也为大家带来了易信软件版本大全,这里有易信...
C语言编程软件可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能 力,不仅仅是在软件开发上,而且各类科研都需要...
编程工具 / 62.5 GB
编程工具 / 20.8 MB
编程工具 / 2.7 MB
编程工具 / 4 MB
编程工具 / 237.15 MB
软件评论
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!