0
我想切換我的任務隊列以利用優先級支持,我可以設置創建任務的x-max-priority值,但是當我嘗試獲取任務時,它是拋出一個錯誤。RabbitMQ消費者在使用優先級時拋出錯誤
是否有一種特殊的方式來使用消費者獲取任務?
$channel->queue_declare('task_queue', false, true, false, false);
PhpAmqpLib \異常\ AMQPProtocolChannelException「與消息 」 PRECONDITION_FAILED - 不等價ARG‘× - 最大優先級’的隊列 ‘task_queue’在虛擬主機‘的虛擬主機’:接收沒有,但電流值 在 /var/www/html/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AMQPChannel.php:188
謝謝,我能與此聲明一下: $參數[ 'x-max-priority'] =數組('I',100); $ channel-> queue_declare('task_queue',false,true,false,false,false,$ parameters); – Kevin
我試圖用優先級插入500k任務(在1-100之間隨機設置),並且我注意到200-300k任務後,它變得非常慢(240/s),RabbitMQ是否必須對這些任務進行排序/索引? – Kevin
@Kevin我知道rabbitmq具有優先級隊列的開銷,但我的工作負載沒有一個用例同時具有如此大的未消耗的消息峯值。所以我不知道 – zerkms