<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [toc] # RabbitMQ 簡單使用 - php **擴展包:** ``` composer require php-amqplib/php-amqplib ``` ## 生產者(發送到隊列) ```php <?php require_once __DIR__ . '/vendor/autoload.php'; use PhpAmqpLib\Connection\AMQPStreamConnection; use PhpAmqpLib\Message\AMQPMessage; $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection->channel(); $channel->queue_declare('hello', false, false, false, false); $msg = new AMQPMessage('你好!'); $channel->basic_publish($msg, '', 'hello'); $channel->close(); $connection->close(); ``` ## 消費者 (消費隊列) ```php <?php require_once 'vendor/autoload.php'; use PhpAmqpLib\Connection\AMQPStreamConnection; $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection->channel(); $channel->queue_declare('hello', false, false, false, false); $callback = function(\PhpAmqpLib\\Message\\AMQPMessage $msg) { echo " [x] Received ", $msg->getBody(), "\n"; // 確認一個消息 (任務完成,從隊列中移除) $msg->getChannel()->basic_ack($msg->getDeliveryTag()); // 重新放入隊列 // $msg->getChannel()->basic_nack($msg->getDeliveryTag(), false, true); // 拋棄此消息 // $msg->getChannel()->basic_nack($msg->getDeliveryTag(), false, false); }; $channel->basic_consume('hello', '', false, false, false, false, $callback); while(count($channel->callbacks)) { $channel->wait(); } ``` **2021/5/25更新說明:`delivery_info`已棄用,推薦使用下面的方法替代ack確認消息。更加明確表達含義** ```php $msg->getChannel()->basic_ack($msg->getDeliveryTag()); if ($msg->getBody() === 'quit') { // 結束隊列使用者 $msg->getChannel()->basic_cancel($msg->getConsumerTag()); } ``` **參考資料:** - [RabbitMQ+PHP 教程一(Hello World)](https://segmentfault.com/a/1190000011825148)
                  <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>

                              哎呀哎呀视频在线观看