mirror of https://github.com/dapr/quickstarts.git
Add Order Processing for Javascript:
Signed-off-by: Xavier Geerinck <xavier.geerinck@gmail.com>
This commit is contained in:
parent
68a8128eee
commit
c309e16bc6
File diff suppressed because it is too large
Load Diff
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"name": "javascript",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"dev": "nodemon server.js"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"dapr-client": "^1.0.2",
|
||||
"express": "^4.17.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^2.0.14"
|
||||
},
|
||||
"type": "module"
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
import { DaprServer, CommunicationProtocolEnum } from 'dapr-client';
|
||||
|
||||
const daprHost = "127.0.0.1";
|
||||
const serverHost = "127.0.0.1";
|
||||
const serverPort = "6002";
|
||||
|
||||
start().catch((e) => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
async function start(orderId, response) {
|
||||
const PUBSUB_NAME = "order_pub_sub"
|
||||
const TOPIC_NAME = "orders"
|
||||
const server = new DaprServer(
|
||||
serverHost,
|
||||
serverPort,
|
||||
daprHost,
|
||||
process.env.DAPR_HTTP_PORT,
|
||||
CommunicationProtocolEnum.HTTP
|
||||
);
|
||||
await server.pubsub.subscribe(PUBSUB_NAME, TOPIC_NAME, async (orderId) => {
|
||||
console.log(`Subscriber received: ${JSON.stringify(orderId)}`)
|
||||
}, (response) => {
|
||||
response.sendStatus(200);
|
||||
});
|
||||
await server.startServer();
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"name": "javascript",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"dev": "nodemon server.js"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"dapr-client": "^1.0.2",
|
||||
"express": "^4.17.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^2.0.14"
|
||||
},
|
||||
"type": "module"
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
import { DaprServer, DaprClient, CommunicationProtocolEnum } from 'dapr-client';
|
||||
|
||||
const daprHost = "127.0.0.1";
|
||||
|
||||
var main = function() {
|
||||
for(var i=0;i<10;i++) {
|
||||
sleep(5000);
|
||||
var orderId = Math.floor(Math.random() * (1000 - 1) + 1);
|
||||
start(orderId).catch((e) => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async function start(orderId) {
|
||||
const client = new DaprClient(daprHost, process.env.DAPR_HTTP_PORT, CommunicationProtocolEnum.HTTP);
|
||||
console.log("Published data:" + orderId)
|
||||
await client.pubsub.publish("order_pub_sub", "orders", orderId);
|
||||
}
|
||||
|
||||
function sleep(ms) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
main();
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
import { DaprClient } from 'dapr-client';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
|
||||
const SIDECAR_HOST = process.env.SIDECAR_HOST || "127.0.0.1";
|
||||
const SIDECAR_PORT = process.env.SIDECAR_PORT || 3500;
|
||||
|
||||
async function main() {
|
||||
const client = new DaprClient(SIDECAR_HOST, SIDECAR_PORT);
|
||||
|
||||
while (true) {
|
||||
await client.pubsub.publish("order_pub_sub", "orders", { orderId: uuidv4() });
|
||||
await sleep(1000);
|
||||
}
|
||||
}
|
||||
|
||||
async function sleep(ms) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
main().catch(e => console.error(e))
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"name": "checkout",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"start": "node index.js",
|
||||
"start:dapr": "dapr run --app-id checkout --app-protocol http --dapr-grpc-port 3501 --components-path ./components -- npm run start",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"dapr-client": "^2.0.1",
|
||||
"uuid": "^8.3.2"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
// Order Processing = Server which processes items
|
||||
// Checkout will do the pub sub
|
||||
import { DaprServer } from 'dapr-client';
|
||||
|
||||
const SIDECAR_HOST = process.env.SIDECAR_HOST || "127.0.0.1";
|
||||
const SIDECAR_PORT = process.env.SIDECAR_PORT || 3500;
|
||||
const SERVER_HOST = process.env.SERVER_HOST || "127.0.0.1";
|
||||
const SERVER_PORT = process.env.SERVER_PORT || 5000;
|
||||
|
||||
async function main() {
|
||||
const server = new DaprServer(SERVER_HOST, SERVER_PORT, SIDECAR_HOST, SIDECAR_PORT);
|
||||
server.pubsub.subscribe("order_pub_sub", "orders", (data) => console.log(data));
|
||||
await server.start();
|
||||
}
|
||||
|
||||
main().catch(e => console.error(e));
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"name": "order-processor",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"start": "node index.js",
|
||||
"start:dapr": "dapr run --app-port 5000 --app-id order-processing --app-protocol http --dapr-http-port 3500 --components-path ./components -- npm run start",
|
||||
"demo:publish": "dapr publish --publish-app-id order-processing --pubsub my-pubsub-name --topic my-topic --data '{\"image_url\": \"https://www.ikea.com/images/een-3-zitsbank-met-chaise-longue-een-stellingkast-met-deuren-04d392ffcd855db85a5373f188230c66.jpg\"}'",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"dapr-client": "^2.0.1"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue