Comments (8)
@AlariCode Sorry, my fault... I did not upgrade the package to incude the changes... Now the error message has disapeared. Thanks!
from nestjs-rmq.
@ebadia, thanks for report! I'll look into this issue. I think I'll need to add additional check in package.
from nestjs-rmq.
Thanks for making this work so well with nestjs! Just as an idea, I saw that in connect you only return the resolve case, perhaps rejecting the promise could help.
from nestjs-rmq.
@ebadia, I updated package to 0.1.1 with better connection management system.
Now you can catch error on client:
try {
return this.client.send<string, string>({ cmd: 'test' }, msg);
} catch (err) {
console.log('Error:' + err);
}
And server and client will reconnect when RMQ server will be available (if it was down):
Furthermore, I added support for clustering. You can specify more then one url on client or server:
client = new ClientRMQ({
urls: [`amqp://login:password@host`],
queue: 'test',
queueOptions: { durable: false }
});
Please note that now you need to use urls
option instead of url
and pass string[]
instead of string
.
from nestjs-rmq.
That's great, I'll give it a try. Thanks.
from nestjs-rmq.
@AlariCode this solves the error problem when sending the message. And for sure it's great. But the system still returns an error message when I try to do the new ClientRMQ
(node:54282) UnhandledPromiseRejectionWarning: Error: connect ECONNREFUSED 127.0.0.1:5672
It seems that we have an unhandled promise rejection there too. This does not stops the app and the try/catch you have added helps a lot. But perhaps this "warning" should be considered for the future.
from nestjs-rmq.
@ebadia this is strange. It connects only when first message is sent. This code:
const client = new ClientRMQ({
urls: [`amqp://${config.default.localhost.amqp.login}:${config.default.localhost.amqp.password}@${config.default.localhost.amqp.host}`],
queue: 'test',
queueOptions: { durable: false },
});
doesn't cause client to connect. And this one does:
this.client.send<string, string>({ cmd: 'test' }, msg);
Could you please show you code with error? This example catches an error perfectly:
@Controller()
export class AppController {
client = new ClientRMQ({
urls: [`amqp://${config.default.localhost.amqp.login}:${config.default.localhost.amqp.password}@${config.default.localhost.amqp.host}`],
queue: 'test',
queueOptions: { durable: false },
});
@Get('a')
a(): Observable<string> {
try {
return this.client.send<string, string>({ cmd: 'test' }, 'test');
} catch (err) {
console.log('Got error: ' + err);
}
}
}
from nestjs-rmq.
Thanks for bug report! I’m closing this issue.
from nestjs-rmq.
Related Issues (20)
- Support for amqps protocol HOT 4
- Listen a queue messages, and not queue topics. Its Possible? HOT 2
- Determine serviceName on @RMQRoute HOT 1
- Feature Request: Exclusive Queue HOT 2
- Feature Request: Multi exchange and multi queue binding HOT 2
- Enhancement: Disable logging for messages HOT 3
- How to handle ERROR_NO_ROUTE? HOT 1
- RabbitMQ URI HOT 3
- Requested service doesn't have RMQRoute with this path HOT 1
- Nestjs 9 HOT 1
- validation + manual ack/nack
- Assert queue programmatically HOT 1
- Error handling broken for 2.8.0 HOT 3
- Update packages please HOT 1
- library goes bootloop when its connected HOT 1
- Update package please HOT 1
- class-validator dependency vulnerability HOT 1
- How i supposed to catch errors thrown from handlers? HOT 2
- Example issue with configService? HOT 2
- Как публиковать в разные exchange и queue?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nestjs-rmq.