Skip to content

Commit

Permalink
Merge branch 'moleculerjs:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
yoavLudeo authored May 19, 2024
2 parents 2c0ca84 + 3091e2c commit c63bc81
Show file tree
Hide file tree
Showing 4 changed files with 566 additions and 280 deletions.
58 changes: 58 additions & 0 deletions examples/redis-pending/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
"use strict";

// Adapted from: https://github.com/moleculerjs/moleculer-channels/issues/74

const { ServiceBroker } = require("moleculer");
const ChannelsMiddleware = require("../../types").Middleware;
const broker = new ServiceBroker({
namespace: "test",
nodeID: "test1",
transporter: "TCP",
middlewares: [
ChannelsMiddleware({
adapter: "redis://127.0.0.1:6379"
})
]
});

const serviceSchema = {
name: "subscriber",
channels: {
"order.created": {
group: "mygroup",
redis: {
minIdleTime: 1000,
claimInterval: 1,
startID: "0"
},
maxRetries: 100,
handler(payload) {
this.logger.info("Received order.created event", payload);
throw new Error();
}
}
}
};
broker.createService(serviceSchema);

// Start the Moleculer broker
broker.start().then(async () => {
try {
broker.repl();

for (let i = 0; i < 10; i++) {
await broker.sendToChannel("order.created", { id: i, items: "test" });

await broker.Promise.delay(100);
}

await broker.destroyService("subscriber");

setTimeout(() => {
broker.logger.info("Recreate service");
broker.createService(serviceSchema);
}, 10000);
} catch (error) {
console.log(error);
}
});
Loading

0 comments on commit c63bc81

Please sign in to comment.