diff --git a/msa/js-executor/queue/awsSqsTemplate.js b/msa/js-executor/queue/awsSqsTemplate.js index c74341d73d..297509ca9b 100644 --- a/msa/js-executor/queue/awsSqsTemplate.js +++ b/msa/js-executor/queue/awsSqsTemplate.js @@ -32,7 +32,7 @@ const poolInterval = config.get('js.response_poll_interval'); let queueAttributes = {FifoQueue: 'true', ContentBasedDeduplication: 'true'}; let sqsClient; let requestQueueURL; -let queueUrls = new Map(); +const queueUrls = new Map(); let stopped = false; function AwsSqsProducer() { diff --git a/msa/js-executor/queue/pubSubTemplate.js b/msa/js-executor/queue/pubSubTemplate.js index 708c1d56a4..0db0d19f05 100644 --- a/msa/js-executor/queue/pubSubTemplate.js +++ b/msa/js-executor/queue/pubSubTemplate.js @@ -30,7 +30,7 @@ let pubSubClient; const topics = []; const subscriptions = []; -let queueProps = []; +const queueProps = []; function PubSubProducer() { this.send = async (responseTopic, scriptId, rawResponse, headers) => { @@ -107,7 +107,12 @@ async function createTopic(topic) { async function createSubscription(topic) { if (!subscriptions.includes(topic)) { - await pubSubClient.topic(topic).createSubscription(topic); + await pubSubClient.createSubscription(topic, topic, { + topic: topic, + subscription: topic, + ackDeadlineSeconds: queueProps['ackDeadlineInSec'], + messageRetentionDuration: {seconds: queueProps['messageRetentionInSec']} + }); subscriptions.push(topic); logger.info('Created new Pub/Sub subscription: %s', topic); }