[{"data":1,"prerenderedAt":397},["ShallowReactive",2],{"\u002Fdocs\u002Fqueues":3,"docs-nav":367},{"id":4,"title":5,"body":6,"description":359,"extension":360,"meta":361,"navigation":362,"path":363,"seo":364,"stem":365,"__hash__":366},"docs\u002Fdocs\u002F3.queues.md","Queues & messages",{"type":7,"value":8,"toc":349},"minimark",[9,13,18,21,24,73,84,88,91,94,105,109,120,126,143,146,162,166,176,183,187,190,323,337,341],[10,11,12],"p",{},"Queues are browsed per vhost: select one on the overview and its queue list opens. Every operation on this page runs as the connection's account, over AMQP or the management API depending on the operation; the table at the end maps which is which.",[14,15,17],"h2",{"id":16},"the-queue-list","The queue list",[10,19,20],{},"Each row shows the queue's type and state, its ready, unacked, and total message counts, its consumer count, and a publish-rate sparkline. The list polls while open and pages at 200 queues.",[10,22,23],{},"The name filter is applied by the broker, so it narrows the whole vhost rather than the loaded page. The chips above the list cut it down by state:",[25,26,27,40],"table",{},[28,29,30],"thead",{},[31,32,33,37],"tr",{},[34,35,36],"th",{},"Chip",[34,38,39],{},"Matches",[41,42,43,57,65],"tbody",{},[31,44,45,49],{},[46,47,48],"td",{},"Errors",[46,50,51,52,56],{},"Queues named ",[53,54,55],"code",{},"*_error"," that hold at least one message",[31,58,59,62],{},[46,60,61],{},"Idle",[46,63,64],{},"Queues the broker reports as idle",[31,66,67,70],{},[46,68,69],{},"No consumers",[46,71,72],{},"Queues with no consumers",[10,74,75,76,79,80,83],{},"Group by service folds each queue together with its ",[53,77,78],{},"_error"," and ",[53,81,82],{},"_skipped"," siblings under their shared base name, following the MassTransit endpoint naming convention. Queues that fit no service group collect in an ungrouped section at the end.",[14,85,87],{"id":86},"inside-a-queue","Inside a queue",[10,89,90],{},"A queue opens on three tabs: overview, messages, and bindings.",[10,92,93],{},"The overview pairs the live stats (ready, unacked, consumers, memory) with charts of queued messages and publish and deliver rates over the last ten minutes. The definition panel beside them shows the queue type, durability, effective policy, delivery limit, and dead-letter exchange; a quorum queue also lists its members and marks the leader. RabbitMQ 4.0 and later give quorum queues a delivery limit of 20 when nothing sets one, and Redrive shows that inferred default rather than leaving the field blank.",[10,95,96,97,100,101,104],{},"The bindings tab lists the exchanges bound to the queue. Adding a binding takes a source exchange and a routing key; removing one asks for confirmation. Both changes go through the management API and need ",[53,98,99],{},"write"," on the queue and ",[53,102,103],{},"read"," on the exchange.",[14,106,108],{"id":107},"peeking-messages","Peeking messages",[10,110,111,112,115,116,119],{},"Peek, on the messages tab, copies messages from the head of the queue and puts them straight back. Redrive fetches each message with ",[53,113,114],{},"basic.get"," without acknowledging it, then returns the whole batch in one requeueing ",[53,117,118],{},"basic.nack",". Nothing is consumed, and the messages reappear on the queue flagged redelivered.",[10,121,122,123,125],{},"The result is a snapshot, not a live tail. Peek competes with the queue's consumers, so it can return fewer messages than requested, and redelivery can reorder them. A peek reads up to 100 messages (50 by default) and stops early once it holds 16 MB of bodies, marking the snapshot truncated; the list notes how many messages remain behind it. Stream queues cannot be peeked, because ",[53,124,114],{}," does not apply to streams.",[127,128,129],"blockquote",{},[10,130,131,135,136,139,140,142],{},[132,133,134],"strong",{},"Peeking a quorum queue on RabbitMQ older than 4.3 spends delivery-limit headroom."," Those brokers count a requeue as a failed delivery, so each peek raises every returned message's ",[53,137,138],{},"x-delivery-count",", and a message that reaches the limit is dropped or dead-lettered. Redrive asks for confirmation before peeking such a queue and flags any message with three or fewer peeks left. From 4.3 on, the explicit ",[53,141,118],{}," return costs no headroom and the confirmation disappears.",[10,144,145],{},"Select a message to inspect it. JSON bodies are pretty-printed with a collapsible tree view; other bodies show as raw text, or base64 when they are binary. Beside the body sit the delivery details (exchange, routing key, delivery count), the AMQP properties, and the headers. Download saves the body bytes exactly as they came off the queue.",[127,147,148],{},[10,149,150,153,154,157,158,161],{},[132,151,152],{},"MassTransit messages get a parsed view."," Redrive detects the envelope by its ",[53,155,156],{},"application\u002Fvnd.masstransit+json"," content type, or by body shape, and shows the message identifiers, source and destination addresses, sent time, message types, and producing host. On a message that failed, the ",[53,159,160],{},"MT-Fault-*"," headers become a fault panel: exception type and message, stack trace, fault timestamp, the consumer and machine that failed, and the retry and redelivery counts.",[14,163,165],{"id":164},"purge-and-delete","Purge and delete",[10,167,168,169,172,173,175],{},"Purge drops every ready message in the queue with one AMQP ",[53,170,171],{},"queue.purge"," call. Deliveries a consumer holds unacknowledged survive it. The account needs ",[53,174,103],{}," on the queue, and every purge is recorded in the action log, Redrive's own record of every redrive, discard, purge, and delete it has run.",[10,177,178,179,182],{},"Delete removes the queue itself, messages and bindings included, through the management API. It needs ",[53,180,181],{},"configure"," on the queue and is recorded in the action log too. Both operations ask for confirmation first.",[14,184,186],{"id":185},"protocols-per-operation","Protocols per operation",[10,188,189],{},"Both protocols authenticate with the connection's account; what differs is the permission set an operation exercises and which of the two connection probes has to be healthy. Message operations need AMQP: while only the management API is reachable, Redrive keeps browsing but disables peek, redrive, discard, purge, and publish.",[25,191,192,205],{},[28,193,194],{},[31,195,196,199,202],{},[34,197,198],{},"Operation",[34,200,201],{},"Travels over",[34,203,204],{},"Broker primitive",[41,206,207,224,239,257,270,281,292,304],{},[31,208,209,212,215],{},[46,210,211],{},"Browse queues, exchanges, and stats",[46,213,214],{},"Management API",[46,216,217,220,221],{},[53,218,219],{},"GET"," reads under ",[53,222,223],{},"\u002Fapi\u002F",[31,225,226,229,232],{},[46,227,228],{},"Peek",[46,230,231],{},"AMQP",[46,233,234,236,237],{},[53,235,114],{},", then a requeueing ",[53,238,118],{},[31,240,241,244,246],{},[46,242,243],{},"Redrive",[46,245,231],{},[46,247,248,250,251,250,254],{},[53,249,114],{},", ",[53,252,253],{},"basic.publish",[53,255,256],{},"basic.ack",[31,258,259,262,264],{},[46,260,261],{},"Discard",[46,263,231],{},[46,265,266,250,268],{},[53,267,114],{},[53,269,256],{},[31,271,272,275,277],{},[46,273,274],{},"Publish",[46,276,231],{},[46,278,279],{},[53,280,253],{},[31,282,283,286,288],{},[46,284,285],{},"Purge",[46,287,231],{},[46,289,290],{},[53,291,171],{},[31,293,294,297,299],{},[46,295,296],{},"Delete a queue",[46,298,214],{},[46,300,301],{},[53,302,303],{},"DELETE \u002Fapi\u002Fqueues\u002F{vhost}\u002F{queue}",[31,305,306,309,311],{},[46,307,308],{},"Add or remove a binding",[46,310,214],{},[46,312,313,79,316,319,320],{},[53,314,315],{},"POST",[53,317,318],{},"DELETE"," under ",[53,321,322],{},"\u002Fapi\u002Fbindings",[10,324,325,326,331,332,336],{},"Which permission each operation needs is listed in ",[327,328,330],"a",{"href":329},"\u002Fdocs\u002Fgetting-started","Getting started",". Publish is described in ",[327,333,335],{"href":334},"\u002Fdocs\u002Fpublishing","Publishing & topology",".",[14,338,340],{"id":339},"next","Next",[10,342,343,344,348],{},"Continue to ",[327,345,347],{"href":346},"\u002Fdocs\u002Fredriving","Redriving"," to move messages back to their source queues.",{"title":350,"searchDepth":351,"depth":351,"links":352},"",2,[353,354,355,356,357,358],{"id":16,"depth":351,"text":17},{"id":86,"depth":351,"text":87},{"id":107,"depth":351,"text":108},{"id":164,"depth":351,"text":165},{"id":185,"depth":351,"text":186},{"id":339,"depth":351,"text":340},"Browse queues, read message payloads, and clean up.","md",{},true,"\u002Fdocs\u002Fqueues",{"title":5,"description":359},"docs\u002F3.queues","JxgHoRD5AJPNfL-T2is3JRPGq1xzOTJnAeX7uDtyD8M",[368],{"title":369,"path":370,"stem":371,"children":372,"page":396},"Docs","\u002Fdocs","docs",[373,377,379,380,382,384,388,392],{"title":374,"path":375,"stem":376},"Install","\u002Fdocs\u002Finstall","docs\u002F1.install",{"title":330,"path":329,"stem":378},"docs\u002F2.getting-started",{"title":5,"path":363,"stem":365},{"title":347,"path":346,"stem":381},"docs\u002F4.redriving",{"title":335,"path":334,"stem":383},"docs\u002F5.publishing",{"title":385,"path":386,"stem":387},"Configuration","\u002Fdocs\u002Fconfiguration","docs\u002F6.configuration",{"title":389,"path":390,"stem":391},"Deployment","\u002Fdocs\u002Fdeployment","docs\u002F7.deployment",{"title":393,"path":394,"stem":395},"Security","\u002Fdocs\u002Fsecurity","docs\u002F8.security",false,1787068526939]