Skip to content

Commit a75d625

Browse files
authoredNov 16, 2020
Sync SQS Attributes for existing SQS queue (#94)
1 parent bde81c4 commit a75d625

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed
 

‎packages/bus-sqs/src/sqs-transport.ts

+9
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ export class SqsTransport implements Transport<SQS.Message> {
192192

193193
await this.subscribeQueueToMessages()
194194
await this.attachPolicyToQueue(this.sqsConfiguration.queueUrl)
195+
await this.syncQueueAttributes(this.sqsConfiguration.queueUrl, serviceQueueAttributes)
195196
}
196197

197198
/**
@@ -337,6 +338,14 @@ export class SqsTransport implements Transport<SQS.Message> {
337338
this.logger.info('Attaching IAM policy to queue', { policy, serviceQueueUrl: queueUrl })
338339
await this.sqs.setQueueAttributes(setQueuePolicyRequest).promise()
339340
}
341+
342+
private async syncQueueAttributes (queueUrl: string, attributes: QueueAttributeMap): Promise<void> {
343+
// TODO: check equality before making this call to avoid potential API rate limit
344+
await this.sqs.setQueueAttributes({
345+
QueueUrl: queueUrl,
346+
Attributes: attributes
347+
}).promise()
348+
}
340349
}
341350

342351
function calculateVisibilityTimeout (sqsMessage: SQS.Message): Seconds {

0 commit comments

Comments
 (0)
Please sign in to comment.