PhalApi-RabbitMQ基於PhalApi專業隊列拓展
PhalApi-RabbitMQ基於PhalApi專業隊列拓展
前言
RabbitMQ一直都是隊列中的標杆,這次有幸PhalApi也能啃上RabbitMQ真是一件大好事,感謝**@牧魚人**提供基於php-amqplib/php-amqplib封裝的PhalApi-RabbitMQ擴展
關於RabbitMQ相關的安裝集群配置可以參考筆者博客的MQ模塊,地址如下
https://my.oschina.net/wenzhenxi/blog?catalog=5613216&temp=1491640864558
附上:
開源中國Git地址:https://git.oschina.net/dogstar/PhalApi/tree/release
開源中國拓展Git地址:https://git.oschina.net/dogstar/PhalApi-Library
1.安裝
使用PhalApi-RabbitMQ擴展和使用其他擴展也是一樣簡單,隻需要把目錄存放到Library即可進行使用
在Config中創建文件rabbitmq.php配置文件格式如下:
return array(
'servers' => array(
'host' => '127.0.0.1',
'port' => '5672',
'user' => 'admin',
'password' => 'admin',
'vhost' => '/',
)
)
2.使用RabbitMQ寫入和處理消息
然後就可以進行實例化使用了:
// 實例化RabbitMQ實例
$rm = RabbitMQ_Lite(DI()->config->get('rabbitmq.servers'));
// 檢查test隊列是否存在,如果不存在則創建,頻繁調用會帶來較大性能消耗
// 建議在出隊列腳本處進行調用,寫入隊列不進行調用
$rm->queue_declare("test");
// 向隊列寫入一條消息
$rm->push("測試消息","test");
// 定義處理消息的方法
$func = function ($msg){
echo $msg;
};
// 處理任務(會阻塞進行)
$rm->pop("test",$func);
注:筆者能力有限有說的不對的地方希望大家能夠指出,也希望多多交流!
官網QQ交流群:①群:421032344 ②群:459352221 歡迎大家的加入!
最後更新:2017-05-05 10:31:20