🍛 Commit progress before lunch break

This commit is contained in:
steinkirch.eth, phd 2023-07-15 13:01:58 -07:00
parent 4cf49ba50b
commit 9aa9e827c0
19 changed files with 378 additions and 19 deletions

View file

@ -0,0 +1,29 @@
const amqp = require("amqplib");
connect();
async function connect() {
try {
const amqpServer = "amqp://localhost:5672"
const connection = await amqp.connect(amqpServer)
const channel = await connection.createChannel();
await channel.assertQueue("jobs");
channel.consume("jobs", message => {
const input = JSON.parse(message.content.toString());
console.log(`Recieved job with input ${input.number}`)
//"7" == 7 true
//"7" === 7 false
if (input.number == 7 )
channel.ack(message);
})
console.log("Waiting for messages...")
}
catch (ex){
console.error(ex)
}
}

View file

@ -0,0 +1,16 @@
{
"name": "rabbitmq",
"version": "1.0.0",
"description": "",
"main": "publisher.js",
"scripts": {
"publish": "node publisher.js",
"consume": "node consumer.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"amqplib": "^0.5.5"
}
}

View file

@ -0,0 +1,22 @@
/* RabbitMQ */
const amqp = require("amqplib");
const msg = {number: process.argv[2]}
connect();
async function connect() {
try {
const amqpServer = "amqp://localhost:5672"
const connection = await amqp.connect(amqpServer)
const channel = await connection.createChannel();
await channel.assertQueue("jobs");
await channel.sendToQueue("jobs", Buffer.from(JSON.stringify(msg)))
console.log(`Job sent successfully ${msg.number}`);
await channel.close();
await connection.close();
}
catch (ex){
console.error(ex)
}
}

View file

@ -0,0 +1,20 @@
## docker commands
### Spin rabbitmq server docker
docker run --name rabbitmq -p 5672:5672 -d rabbitmq
### Spin rabbitmq server HTTP server docker
docker run --name rabbitmq -p 5672:5672 -p 15672:15672 -d rabbitmq:3-management
HTTP
fetch("http://localhost:15672/api/vhosts”, {headers: {"Authorization" : `Basic ${btoa('guest:guest')}`}}).then(a=>a.json()).then(console.log)
fetch("http://localhost:15672/api/channels", {headers: {"Authorization" : `Basic ${btoa('guest:guest')}`}}).then(a=>a.json()).then(console.log)
fetch("http://localhost:15672/api/queues", {headers: {"Authorization" : `Basic ${btoa('guest:guest')}`}}).then(a=>a.json()).then(console.log)