安裝 beanstalkd
~~~
yum install -y beanstalkd
~~~
后臺啟動
~~~
nohup beanstalkd &
~~~
安裝php消息隊列包
~~~
composer require pda/pheanstalk
~~~
簡單使用
~~~
創建生產者
public function index()
{
// 創建隊列生產者
$pda = Pheanstalk::create('127.0.0.1');
// dump($pda->stats());
// 模擬數據
$data = [
'price' => 1.00,
'name' => '測試商品'
];
// 投入到管道中 等待消費者消費 參數分別是 1 數據 2優先級 3設置延遲時間處理
$id = $pda->useTube('order')->put(json_encode($data),0,10);
dump($id);
}
創建消費者消費任務數據
public function xiaofei()
{
$pda = Pheanstalk::create('127.0.0.1');
// 獲取管道并消費
$job = $pda->watch('order')->ignore('default')->reserve();
// 獲取任務id
$id = $job->getId();
dump($id);
// 獲取任務數據
$data = $job->getData();
dump($data);
// 處理完任務后就刪除掉
$pda->delete($job);
}
~~~
thinkphp5 的命令行