AWS SQS FIFO
Starting with soketi 0.30, you may now use AWS's SQS FIFO queues to process webhooks and other background tasks.
The driver works strictly with the High-Throughput FIFO Queue mode. Below you will find an example command line to create a FIFO Queue for soketi using the AWS CLI.
The recommended values can be adjusted according to your needs, such as
MessageRetentionPeriod, but these are optimal for this soketi's use case.
aws sqs create-queue --queue-name test.fifo \
Keep in mind that the
FifoThroughputLimitshould be set as below since the queues may be processed on an app ID and queue type basis for extreme throughput. The
ContentBasedDeduplicationshould be true.
Make sure that when setting the IAM policies for the authentication user or instance role, you will include the following IAM permissions:
Since the webhooks are used for now for sending HTTP requests or Lambda invocations, make sure that the total process time is lower than the Visibility Timeout duration, otherwise, another consumer can claim the message after the duration.
The region in which the SQS queue is deployed.
Any JSON-formatted string
A JSON-formatted string with additional options to pass to the
The URL of the queue. It has to be ending in
Optional string to test SQS locally or manually define the endpoint for the SQS API.
Whether to process SQS in batches. This will make fewer requests to SQS, but will take longer to receive items from the queue.
If batching is enabled, how many messages (at most) to receive for each batch. Consider setting to at least
Any number (milliseconds)
The time to take between polls. Higher will delay some jobs, but reduces requests number.