@message-queue-toolkit/sqs
Version:
SQS adapter for message-queue-toolkit
32 lines • 1.17 kB
JavaScript
import { AbstractQueueService } from '@message-queue-toolkit/core';
import { deleteSqs, initSqs } from "../utils/sqsInitter.js";
// https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
export const SQS_MESSAGE_MAX_SIZE = 256 * 1024; // 256KB
export class AbstractSqsService extends AbstractQueueService {
sqsClient;
// @ts-ignore
queueName;
// @ts-ignore
queueUrl;
// @ts-ignore
queueArn;
constructor(dependencies, options) {
super(dependencies, options);
this.sqsClient = dependencies.sqsClient;
}
async init() {
if (this.deletionConfig && this.creationConfig) {
await deleteSqs(this.sqsClient, this.deletionConfig, this.creationConfig);
}
const { queueName, queueUrl, queueArn } = await initSqs(this.sqsClient, this.locatorConfig, this.creationConfig);
this.queueName = queueName;
this.queueUrl = queueUrl;
this.queueArn = queueArn;
this.isInitted = true;
}
close() {
this.isInitted = false;
return Promise.resolve();
}
}
//# sourceMappingURL=AbstractSqsService.js.map