<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## exchange - 交換機 ~~~ use \api\Rmq; // @param:交換機名稱 // @param:是否創建為延遲交換機,默認:FALSE // @param:交換機類型,默認:direct // @param:當交換機不存在時不自動創建,默認:FALSE // @param:持久化,默認:TRUE // @param:連接斷開后自動刪除交換機,默認:FALSE $Rmq = Rmq::exchange('exchange'); ~~~ <br/> ## queue - 隊列 ~~~ use \api\Rmq; // @param:隊列名稱 // @param:是否創建為延遲隊列 // @param:當隊列不存在時不自動創建,默認:FALSE // @param:持久化,默認:TRUE // @param:隊列允許其他通道消費,默認:FALSE // @param:隊列執行完畢后自動刪除,默認:FALSE Rmq::queue('queue'); ~~~ <br/> ## bind - 將隊列綁定到交換機 ~~~ use \api\Rmq; // @param:路由,默認:空 Rmq::bind(); ~~~ <br/> ## add - 添加隊列 ~~~ // 如果第二個參數是FALSE(不是批量寫入的情況下),到此就已經將數據寫入到隊列 // @param:寫入的內容,字符串或者數組格式 // @param:是否批量寫入,默認:FALSE // @param:延遲寫入,默認:FALSE,如果需要延遲,則單位為秒 $Rmq->add([ 'txt' => 'content' ]); ~~~ <br/> ## public - 執行批量寫入隊列 ~~~ for ($i = 1; $i < 1001; $i++) $Rmq->add([ 'txt' => $i ], TRUE); // 批量寫入 $Rmq->publish(); ~~~ <br/> ## consume - 消費隊列 ~~~ use \api\Rmq; // @param:消費回調,在此處理自己的業務,默認會傳遞一個$msg參數,里面包含該條隊列的詳細信息 // @param:自動應答,默認:FALSE // @param:標簽,默認:"" $Rmq->consume(function($msg){ // 手動應答,告訴rabbitmq已經處理了該條隊列 // 如果第二個參數為TRUE,則此行代碼可以不寫 Rmq::ack($msg); echo $msg->body; }); ~~~ <br/> ## get - 讀取單條隊列 ~~~ $msg = $Rmq->get(); ~~~ --- <br/> **完整示例** <br/> #### 普通隊列寫入 ~~~ use \api\Rmq; // 綁定交換機和隊列 rmq('demo', 'demo_queue')->add([ 'txt' => 'content' ]); // 在項目配置文件 Rmq.php中可以配置默認的交換機和隊列,采用默認配置可以使用以下更加簡化的寫法 rmq()->add([ 'txt' => 'content' ]); ~~~ <br/> #### 批量寫入隊列 ~~~ // 添加隊列時指定第二個參數為TRUE,表示批量寫入 $rmq = rmq(); $rmq->add([ 'txt' => 'content' ], TRUE); $rmq->publish(); ~~~ <br/> #### 延遲寫入隊列 >延遲隊列使用場景: > >新用戶使用1天這種功能,可以在開通后寫入一個延遲1天的隊列,1天后消費端消費到這條隊列,把該用戶的授權信息刪除 ~~~ use \api\Rmq; // 創建交互機時指定第二個參數為TRUE,表示是延遲交換機 $Rmq = Rmq::exchange( 'delayed', TRUE )->queue('demo_queue')->bind(); // 指定第三個參數為具體的延遲秒數 $Rmq->add([ 'txt' => 'content' ], FALSE, 3600); ~~~ <br/> #### 普通消費 ~~~ rmq()->consume(function($msg){ // 寫入隊列的數據 $data = json_decode($msg->body, TRUE); }); ~~~ <br/> #### 消費后自動應答 ~~~ rmq()->consume(function($msg){ // 寫入隊列的數據 $data = json_decode($msg->body, TRUE); }, TRUE); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看