mirror of
https://github.com/Noratrieb/haesli.git
synced 2026-01-17 05:05:03 +01:00
even more queuing around
This commit is contained in:
parent
4643483d70
commit
d90d61504c
5 changed files with 24 additions and 7 deletions
|
|
@ -14,6 +14,8 @@
|
||||||
<h1>AMQP Data</h1>
|
<h1>AMQP Data</h1>
|
||||||
<h2>Connections</h2>
|
<h2>Connections</h2>
|
||||||
<div id="connection-wrapper"></div>
|
<div id="connection-wrapper"></div>
|
||||||
|
<h2>Queues</h2>
|
||||||
|
<div id="queue-wrapper"></div>
|
||||||
|
|
||||||
<script src="script.js"></script>
|
<script src="script.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
|
|
@ -39,10 +39,23 @@ const renderConnections = (connections) => {
|
||||||
wrapper.replaceChildren(table);
|
wrapper.replaceChildren(table);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const renderQueues = (queues) => {
|
||||||
|
const wrapper = document.getElementById('queue-wrapper');
|
||||||
|
|
||||||
|
const table = renderTable(
|
||||||
|
['Queue ID', 'Name', 'Durable'],
|
||||||
|
queues.map((queue) => {
|
||||||
|
return [queue.id, queue.name, queue.durable ? 'Yes' : 'No'];
|
||||||
|
})
|
||||||
|
);
|
||||||
|
wrapper.replaceChildren(table);
|
||||||
|
};
|
||||||
|
|
||||||
const refresh = async () => {
|
const refresh = async () => {
|
||||||
const fetched = await fetch('api/data');
|
const fetched = await fetch('api/data');
|
||||||
const data = await fetched.json();
|
const data = await fetched.json();
|
||||||
renderConnections(data.connections);
|
renderConnections(data.connections);
|
||||||
|
renderQueues(data.queues);
|
||||||
};
|
};
|
||||||
|
|
||||||
setInterval(refresh, 1000);
|
setInterval(refresh, 1000);
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,10 @@ use amqp_core::error::ProtocolError;
|
||||||
use amqp_core::methods::{BasicConsume, Method};
|
use amqp_core::methods::{BasicConsume, Method};
|
||||||
|
|
||||||
pub async fn consume(
|
pub async fn consume(
|
||||||
_channel_handle: ChannelHandle,
|
channel_handle: ChannelHandle,
|
||||||
_basic_consume: BasicConsume,
|
_basic_consume: BasicConsume,
|
||||||
) -> Result<Method, ProtocolError> {
|
) -> Result<Method, ProtocolError> {
|
||||||
|
let _channel = channel_handle.lock();
|
||||||
|
|
||||||
amqp_todo!()
|
amqp_todo!()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,17 +25,17 @@ pub async fn declare(
|
||||||
let queue_name = QueueName::new(queue_name.into());
|
let queue_name = QueueName::new(queue_name.into());
|
||||||
|
|
||||||
if !arguments.is_empty() {
|
if !arguments.is_empty() {
|
||||||
return Err(ConException::Todo.into());
|
amqp_todo!();
|
||||||
|
}
|
||||||
|
|
||||||
|
if passive || no_wait || durable {
|
||||||
|
amqp_todo!();
|
||||||
}
|
}
|
||||||
|
|
||||||
let global_data = {
|
let global_data = {
|
||||||
let channel = channel_handle.lock();
|
let channel = channel_handle.lock();
|
||||||
let global_data = channel.global_data.clone();
|
let global_data = channel.global_data.clone();
|
||||||
|
|
||||||
if passive || no_wait {
|
|
||||||
amqp_todo!();
|
|
||||||
}
|
|
||||||
|
|
||||||
let id = QueueId::random();
|
let id = QueueId::random();
|
||||||
let queue = Arc::new(RawQueue {
|
let queue = Arc::new(RawQueue {
|
||||||
id,
|
id,
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ const connection = await connectAmqp();
|
||||||
|
|
||||||
const channel = await connection.createChannel();
|
const channel = await connection.createChannel();
|
||||||
|
|
||||||
const reply = await channel.assertQueue(queueName, { durable: true });
|
const reply = await channel.assertQueue(queueName, { durable: false });
|
||||||
|
|
||||||
assert(reply.messageCount === 0, 'Message found in queue');
|
assert(reply.messageCount === 0, 'Message found in queue');
|
||||||
assert(reply.consumerCount === 0, 'Consumer listening on queue');
|
assert(reply.consumerCount === 0, 'Consumer listening on queue');
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue