mirror of
https://github.com/autistic-symposium/backend-and-orchestration-toolkit.git
synced 2025-06-08 15:02:55 -04:00
🍛 Commit progress before lunch break
This commit is contained in:
parent
4cf49ba50b
commit
9aa9e827c0
19 changed files with 378 additions and 19 deletions
29
code/protocol_demos/rabbitmq/consumer.js
Normal file
29
code/protocol_demos/rabbitmq/consumer.js
Normal 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)
|
||||
}
|
||||
|
||||
}
|
16
code/protocol_demos/rabbitmq/package.json
Normal file
16
code/protocol_demos/rabbitmq/package.json
Normal 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"
|
||||
}
|
||||
}
|
22
code/protocol_demos/rabbitmq/publisher.js
Normal file
22
code/protocol_demos/rabbitmq/publisher.js
Normal 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)
|
||||
}
|
||||
|
||||
}
|
20
code/protocol_demos/rabbitmq/scripts.md
Normal file
20
code/protocol_demos/rabbitmq/scripts.md
Normal 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)
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue