@autofleet/rabbit 3.2.22-beta.2 → 3.2.22-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.js +24 -26
- package/package.json +1 -1
- package/src/index.ts +25 -25
package/dist/index.d.ts
CHANGED
|
@@ -97,7 +97,7 @@ declare class RabbitMq implements IAfRabbitMq {
|
|
|
97
97
|
consumeFromExchange(queue: string, exchange: string, callback: CallbackFunction, options?: ConsumeOptions): Promise<any>;
|
|
98
98
|
publish(exchange: string, content: any, customHeaders?: any): Promise<boolean>;
|
|
99
99
|
sendToQueue(queue: string, content: any, options?: any, customHeaders?: any): Promise<boolean | undefined>;
|
|
100
|
-
isConnected(
|
|
100
|
+
isConnected(): Promise<boolean>;
|
|
101
101
|
gracefulShutdown(signal: string): Promise<void>;
|
|
102
102
|
}
|
|
103
103
|
export default RabbitMq;
|
package/dist/index.js
CHANGED
|
@@ -501,35 +501,33 @@ class RabbitMq {
|
|
|
501
501
|
return res;
|
|
502
502
|
}
|
|
503
503
|
catch (e) {
|
|
504
|
-
|
|
505
|
-
logger_1.default.error(`rabbit sendToQueue: failed to send to queue ${queue}, isConnected: ${isConnected}`, { e });
|
|
504
|
+
logger_1.default.error(`rabbit sendToQueue: failed to send to queue ${queue}`, { e });
|
|
506
505
|
throw e;
|
|
507
506
|
}
|
|
508
507
|
}
|
|
509
|
-
async isConnected(
|
|
510
|
-
const
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
logger_1.default.
|
|
529
|
-
return
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
return true;
|
|
508
|
+
async isConnected() {
|
|
509
|
+
const isEachConnectionConnected = await Promise.all(Object.entries(this.connectionsMap).map(async ([connectionPurpose, connectionData]) => {
|
|
510
|
+
const { connection } = connectionData;
|
|
511
|
+
const isConnected = connection?.isConnected();
|
|
512
|
+
if (!isConnected) {
|
|
513
|
+
logger_1.default.error('rabbit: isConnected - false');
|
|
514
|
+
return false;
|
|
515
|
+
}
|
|
516
|
+
const channel = await this.assertChannel({ connectionPurpose: connectionPurpose });
|
|
517
|
+
try {
|
|
518
|
+
await Promise.all([
|
|
519
|
+
channel.waitForConnect(),
|
|
520
|
+
...this.consumers.map((c) => channel.checkQueue(c.queue)),
|
|
521
|
+
]);
|
|
522
|
+
}
|
|
523
|
+
catch (e) {
|
|
524
|
+
logger_1.default.error('rabbit: isConnected - false');
|
|
525
|
+
return false;
|
|
526
|
+
}
|
|
527
|
+
logger_1.default.info('rabbit: isConnected - true');
|
|
528
|
+
return true;
|
|
529
|
+
}));
|
|
530
|
+
return isEachConnectionConnected.every((isConnected) => isConnected === true);
|
|
533
531
|
}
|
|
534
532
|
async gracefulShutdown(signal) {
|
|
535
533
|
const tagsNumber = this.consumersTags.length;
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -690,35 +690,35 @@ class RabbitMq implements IAfRabbitMq {
|
|
|
690
690
|
debug(`rabbit: sending to queue ${queue}`, { res });
|
|
691
691
|
return res;
|
|
692
692
|
} catch (e) {
|
|
693
|
-
|
|
694
|
-
logger.error(`rabbit sendToQueue: failed to send to queue ${queue}, isConnected: ${isConnected}`, { e });
|
|
693
|
+
logger.error(`rabbit sendToQueue: failed to send to queue ${queue}`, { e });
|
|
695
694
|
throw e;
|
|
696
695
|
}
|
|
697
696
|
}
|
|
698
697
|
|
|
699
|
-
async isConnected(
|
|
700
|
-
const
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
698
|
+
async isConnected(): Promise<boolean> {
|
|
699
|
+
const isEachConnectionConnected = await Promise.all(
|
|
700
|
+
Object.entries(this.connectionsMap).map(async ([connectionPurpose, connectionData]) => {
|
|
701
|
+
const { connection } = connectionData;
|
|
702
|
+
const isConnected = connection?.isConnected();
|
|
703
|
+
if (!isConnected) {
|
|
704
|
+
logger.error('rabbit: isConnected - false');
|
|
705
|
+
return false;
|
|
706
|
+
}
|
|
707
|
+
const channel: any = await this.assertChannel({ connectionPurpose: connectionPurpose as ConnectionPurpose });
|
|
708
|
+
try {
|
|
709
|
+
await Promise.all([
|
|
710
|
+
channel.waitForConnect(),
|
|
711
|
+
...this.consumers.map((c: AfConsumer) => channel.checkQueue(c.queue)),
|
|
712
|
+
]);
|
|
713
|
+
} catch (e) {
|
|
714
|
+
logger.error('rabbit: isConnected - false');
|
|
715
|
+
return false;
|
|
716
|
+
}
|
|
717
|
+
logger.info('rabbit: isConnected - true');
|
|
718
|
+
return true;
|
|
719
|
+
}),
|
|
720
|
+
);
|
|
721
|
+
return isEachConnectionConnected.every((isConnected) => isConnected === true);
|
|
722
722
|
}
|
|
723
723
|
|
|
724
724
|
async gracefulShutdown(signal: string): Promise<void> {
|