亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP使用ActiveMQ實現消息隊列的方法詳解

2024-05-05 00:09:22
字體:
來源:轉載
供稿:網友

本文實例講述了PHP使用ActiveMQ實現消息隊列的方法。分享給大家供大家參考,具體如下:

前面我們已經學了如何部署ActiveMQ, 
我們知道通過ActiveMQ的一個管理后臺可以查看任務隊列。

今天

PHP,ActiveMQ,消息隊列 
用PHP來操作ActiveMQ,我們可以借助一個第三方擴展。 
下載:

composer require fusesource/stomp-php:2.0.*

然后新建test.php:

<?phprequire __DIR__.'/vendor/autoload.php'; //引入自動加載的文件$connect = new /FuseSource/Stomp/Stomp('tcp://10.211.55.13/:61613');$connect->connect();$userId = 1001;$result = $connect->send('email',$userId); //比如發郵件var_dump($result);

PHP,ActiveMQ,消息隊列
發送消息成功,打印bool(true)

我們在ActiveMQ自帶的管理后臺查看,確實有一個名為”email”的隊列。 
PHP,ActiveMQ,消息隊列

上面我們發送的一個id,我們還可以發送json數據。

$data = array('id'=>1001,'email'=>'110@qq.com','content'=>'test');$result = $connect->send('email',json_encode($data)); 

我們在MQ后臺可以查看消息詳細 
PHP,ActiveMQ,消息隊列

上面的代碼到這里,還不夠完美。如果我們服務器重啟了activemq,沒有處理的消息會丟失。 
這個時候我們需要用到send()方法的第三個參數。

//消息持久化 persistent為true,字符串的'true'$result = $connect->send('email',json_encode($data),array('persistent'=>'true'));

前面我們完成了『發送』

給mq服務器發送消息(email消息)。 
那么在mq的隊列中的任務,又是怎么處理的呢?

<?phprequire __DIR__.'/vendor/autoload.php'; //引入自動加載的文件$connect = new /FuseSource/Stomp/Stomp('tcp://10.211.55.13/:61613');$connect->connect();//訂閱隊列消息$connect->subscribe('email');if ($connect->hasFrameToRead()){  $frame = $connect->readFrame();  print_r($frame);}

在mq服務端,訂閱(監聽)隊列消息。 
在服務端是命令行下執行:php mqServer.php 
如果有沒有處理的消息,可以讀取出來,打印結果如下:

FuseSource/Stomp/Frame Object(  [command] => MESSAGE  [headers] => Array    (      [expires] => 0      [destination] => /queue/email      [priority] => 4      [message-id] => ID:localhost.localdomain-38488-1488196907415-3:2:-1:1:1      [timestamp] => 1489477647931    )  [body] => {"id":1001,"email":"110@qq.com","content":"test"})

body就把我們發送的內容讀取出來了。

我們循環讀取(死循環)一直等待新消息:

do{  if ($connect->hasFrameToRead()){    $frame = $connect->readFrame();    print_r($frame->body);  }} while (true);

處理消息之后(在發送郵件等業務完成之后),要通知mq我處理了該條消息了

  if ($connect->hasFrameToRead()){    $frame = $connect->readFrame();    //print_r($frame->body);    //做業務邏輯    //具體發送郵件的業務    //send email    //最后通知mq,我們已經處理了該條消息    $connect->ack($frame);  }

我們還可以在優化一下代碼,解決死循環,控制循環(這里是一種方案演示)

do{  //會等待,直到有可用消息,才執行后面代碼  if ($connect->hasFrameToRead()){    $frame = $connect->readFrame();    //print_r($frame->body);    //做業務邏輯    //具體發送郵件的業務    //send email    sleep(2); //模擬延時    //最后通知mq,我們已經處理了該條消息    $connect->ack($frame);  }  //控制循環  $next = true;  if (file_exists(__DIR__.'/stop')){    //如果有名為stop的一個文件    //就不循環了    $next = false;  }} while ($next);

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數據結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》及《PHP數學運算技巧總結

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费伊人电影在线观看av| 成人黄色免费网站在线观看| 777午夜精品福利在线观看| 亚洲第一精品电影| 亚洲国产婷婷香蕉久久久久久| 日韩av在线免费播放| 欧美成人国产va精品日本一级| 91亚洲人电影| 亚洲一品av免费观看| 97久久伊人激情网| 日韩福利伦理影院免费| 亚洲欧美日韩国产中文专区| 国产女精品视频网站免费| 91在线观看欧美日韩| 国产精品69久久| 欧美夜福利tv在线| 亚洲999一在线观看www| 亚洲免费成人av电影| 中文字幕国产精品久久| 精品无人区太爽高潮在线播放| 国产精品日韩久久久久| 国产一区视频在线播放| 大桥未久av一区二区三区| 久久成人18免费网站| 亚洲精品久久久久国产| 日韩欧美在线观看视频| 久久偷看各类女兵18女厕嘘嘘| 欧美一区二区三区艳史| 欧美在线国产精品| 欧美激情一级精品国产| 国产精品三级在线| 在线国产精品视频| 中文字幕亚洲一区| 91久久精品久久国产性色也91| 色一情一乱一区二区| 国产精品18久久久久久首页狼| 国产精品电影久久久久电影网| 国内精品小视频在线观看| 亚洲精品一区中文| 欧美wwwxxxx| 欧美另类极品videosbest最新版本| 性日韩欧美在线视频| 欧美特级www| 久久精品国产欧美激情| 久久躁狠狠躁夜夜爽| 日韩国产精品视频| 国产精品爽爽ⅴa在线观看| 亚洲精品免费一区二区三区| 日韩美女视频免费在线观看| 久久久久久久久久亚洲| 中国日韩欧美久久久久久久久| 国产精品视频在线观看| 日韩电影免费观看在线| 精品欧美一区二区三区| 国产精品极品尤物在线观看| 欧美成人午夜剧场免费观看| 亚洲а∨天堂久久精品喷水| 欧美电影第一页| 午夜精品久久久久久久男人的天堂| 欧美电影在线播放| 成人精品网站在线观看| 国产精品久久久久久久久久久不卡| 国产精品视频久久久| 国产精品久久久久999| 亚洲福利视频免费观看| 欧美最猛性xxxxx免费| 久久在线免费视频| 亚洲美女在线观看| 1769国内精品视频在线播放| 亚洲欧美激情另类校园| 高清欧美电影在线| 国产精品久久久久久婷婷天堂| 欧美激情视频给我| 欧美大片欧美激情性色a∨久久| 亚洲人精选亚洲人成在线| 在线观看亚洲视频| 日韩电影免费观看中文字幕| 深夜福利国产精品| 国产精品三级久久久久久电影| 国产+成+人+亚洲欧洲| 欧美日韩免费观看中文| 91影视免费在线观看| 欧美日韩国产成人| 亚洲品质视频自拍网| 亚洲片国产一区一级在线观看| 亚洲欧美日韩中文在线制服| 国产亚洲欧洲高清一区| 亚洲精品videossex少妇| 激情亚洲一区二区三区四区| 国产精品高潮粉嫩av| 欧美乱妇40p| 欧美色视频日本版| 国产精品久久久久久久久久久久久久| 亚洲精品网站在线播放gif| 九九热最新视频//这里只有精品| 日韩在线视频导航| 成人免费在线视频网址| 国产999精品久久久| 日本精品视频在线播放| 青青青国产精品一区二区| 久久综合亚洲社区| 亚洲精品91美女久久久久久久| 在线播放国产一区中文字幕剧情欧美| 在线精品国产欧美| 午夜精品www| 欧美日韩中文在线| 日韩欧美主播在线| 日韩欧美国产成人| 久久久久久久av| 777777777亚洲妇女| 国产精品久久中文| 97av视频在线| 欧美亚洲午夜视频在线观看| 在线观看国产精品91| 亚洲精品久久久久久下一站| 国产精品69久久久久| 96精品久久久久中文字幕| 国产在线拍偷自揄拍精品| 国产精品扒开腿做爽爽爽男男| 久久精品国产亚洲精品2020| 久久久精品视频在线观看| 亚洲精品永久免费精品| 亚洲欧美国产精品专区久久| 日本一本a高清免费不卡| 欧美黑人xxxⅹ高潮交| 欧美激情视频免费观看| 最新中文字幕亚洲| 亚洲午夜未删减在线观看| 欧美在线观看日本一区| 亚洲国内高清视频| 九九久久久久久久久激情| 亚洲欧美在线播放| 国产精品国语对白| 成人福利网站在线观看11| 日韩www在线| 亚洲激情视频在线播放| 亚洲国产精彩中文乱码av在线播放| 欧美性生交xxxxx久久久| 欧美黑人一区二区三区| 日韩女在线观看| 中文字幕无线精品亚洲乱码一区| 国产精品爽爽ⅴa在线观看| 欧美多人爱爱视频网站| 一本色道久久88综合日韩精品| 国产在线精品自拍| 国产精彩精品视频| 91在线国产电影| 欧美日韩亚洲一区二区三区| 久久久久久久网站| 亚洲片在线资源| 国产视频精品xxxx| 亚洲人成网站色ww在线| 欧美精品一区二区三区国产精品| 久久久久久噜噜噜久久久精品| 久久久免费精品视频| 亚洲a级在线播放观看| 精品国产一区av| 日韩精品极品视频免费观看| 欧美国产精品日韩| 成人中文字幕在线观看| 欧美激情伊人电影| 久久最新资源网| 久久亚洲欧美日韩精品专区| 欧美老女人性生活|