Skip to content

Commit a21e48e

Browse files
authored
refactor: Bump sqs-producer to 7.0.0 (#161)
1 parent e4f74ab commit a21e48e

File tree

4 files changed

+104
-298
lines changed

4 files changed

+104
-298
lines changed

lib/SQSEventEmitterMQ.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const events = require('events');
22
const { logger } = require('parse-server');
3-
const SQSProducer = require('sqs-producer');
3+
const { Producer: SQSProducer } = require('sqs-producer');
44
const { Consumer: SQSConsumer } = require('sqs-consumer');
55

66
class Publisher {
@@ -18,11 +18,21 @@ class Publisher {
1818
payload = Object.assign({ id: '0', body: message }, channel ? { groupId: channel } : {});
1919
}
2020

21-
this.emitter.send(payload, (err) => {
22-
if (err) {
23-
logger.error(err);
21+
// basic validation to keep error logging synchronous for invalid payloads
22+
if (typeof payload === 'object' && !Array.isArray(payload) && payload.body === undefined) {
23+
logger.error(new Error("Object messages must have 'body' prop"));
24+
return;
25+
}
26+
try {
27+
const result = this.emitter.send(payload);
28+
if (result && typeof result.catch === 'function') {
29+
result.catch((err) => {
30+
logger.error(err);
31+
});
2432
}
25-
});
33+
} catch (err) {
34+
logger.error(err);
35+
}
2636
}
2737
}
2838

0 commit comments

Comments
 (0)