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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                >[info] TTL 生存時間 **什么是TTL?** * TTL(Time To Live),即生存時間 * RabbitMQ支持消息的過期時間,在消息發送時可以進行指定 * RabbitMQ支持為每個隊列設置消息的超時時間,從消息入隊列開始計算,只要超過了隊列的超時時間配置,那么消息會被自動清除 ***** **實現TTL:dlx.php** ~~~ <?php include(__DIR__ . '/config.php'); use PhpAmqpLib\Wire\AMQPTable; use PhpAmqpLib\Message\AMQPMessage; use PhpAmqpLib\Exchange\AMQPExchangeType; use PhpAmqpLib\Connection\AMQPStreamConnection; /** * 死信隊列測試 * 1、創建兩個交換器 exchange.normal 和 exchange.dlx, 分別綁定兩個隊列 queue.normal 和 queue.dlx * 2、把 queue.normal 隊列里面的消息配置過期時間,然后通過 x-dead-letter-exchange 指定死信交換器為 exchange.dlx * 3、發送消息到 queue.normal 中,消息過期之后流入 exchange.dlx,然后路由到 queue.dlx 隊列中,進行消費 */ // todo 更改配置 //$connection = new AMQPStreamConnection('192.168.33.1', 5672, 'zhangcs', 'zhangcs', '/'); $connection = new AMQPStreamConnection(HOST, PORT, USER, PASS, VHOST); $channel = $connection->channel(); $channel->exchange_declare('exchange.dlx', AMQPExchangeType::DIRECT, false, true); $channel->exchange_declare('exchange.normal', AMQPExchangeType::FANOUT, false, true); $args = new AMQPTable(); // 消息過期方式:設置 queue.normal 隊列中的消息10s之后過期 $args->set('x-message-ttl', 10000); // 設置隊列最大長度方式: x-max-length //$args->set('x-max-length', 1); $args->set('x-dead-letter-exchange', 'exchange.dlx'); $args->set('x-dead-letter-routing-key', 'routingkey'); $channel->queue_declare('queue.normal', false, true, false, false, false, $args); $channel->queue_declare('queue.dlx', false, true, false, false); $channel->queue_bind('queue.normal', 'exchange.normal'); $channel->queue_bind('queue.dlx', 'exchange.dlx', 'routingkey'); $message = new AMQPMessage('Hello DLX Message'); $channel->basic_publish($message, 'exchange.normal', 'rk'); $channel->close(); $connection->close(); ~~~ 1. 運行代碼 ![](https://img.kancloud.cn/86/be/86befa5e77b357424805feabc2cc898a_342x49.png) 2. 查看隊列 ![](https://img.kancloud.cn/ad/0e/ad0ea5cac42d5de60cd6048f954b7ea4_1074x271.png) 3. 10秒之后變成0 ![](https://img.kancloud.cn/ca/ac/caacf03daf1dcba43110ca6902466be9_1197x322.png) 4.
                  <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>

                              哎呀哎呀视频在线观看