You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**This module is still in experimental state. It's a work in progress towards:**
4
-
* supporting suspending handlers
5
-
* migration to AWS SDK v2
3
+
**This module is still in experimental state.**
6
4
7
-
## Differences to the previous implementation
5
+
This module provides a modern, Kotlin-first interface for working with Amazon Simple Queue Service (SQS) in Misk applications. It leverages Kotlin's coroutines and structured concurrency to offer an efficient, type-safe, and easy-to-use message processing system.
8
6
9
-
* uses AWS SDK v2
10
-
* exposes suspending API
11
-
* handlers return status and don't make calls to SQS. Acknowledging jobs is done by the framework code
12
-
* no dependency on the lease module. There will be at least one handler per service instance
13
-
* no dependency on the feature flags
14
-
* metrics are updated to v2, names of the metrics have been changed
7
+
### Key Features
15
8
16
-
## Migration
9
+
-**Kotlin Coroutines Integration**: Native support for suspending functions and structured concurrency
10
+
-**Flexible Configuration**: Global and per-queue configuration options for fine-tuned performance
11
+
-**Advanced Queue Management**:
12
+
- Automatic retry queue setup and management
13
+
- Dead-letter queue support for failed message handling
14
+
- Configurable visibility timeout and message retention
15
+
-**Scalable Processing**:
16
+
- Concurrent message processing with configurable parallelism
17
+
- Efficient message batching and pre-fetching
18
+
- Automatic backoff for failed messages
19
+
-**Robust Error Handling**:
20
+
- Automatic message recovery on failures
21
+
- Configurable retry policies
22
+
- Dead-letter queue routing for unprocessable messages
23
+
-**Monitoring Ready**:
24
+
- Built-in metrics for queue operations
25
+
- Detailed logging for debugging and monitoring
26
+
- Performance tracking capabilities
27
+
-**Type-safe Message Handling**:
28
+
- Support for both blocking and suspending handlers
29
+
- Strongly typed message attributes
30
+
- Automatic message acknowledgment
31
+
32
+
This module is designed to be a drop-in replacement for the previous AWS SQS implementation, offering improved performance, better resource utilization, and a more developer-friendly API.
33
+
34
+
## Installation
35
+
36
+
Follow these steps to integrate the AWS SQS module into your Misk application:
37
+
38
+
### 1. Add Dependencies
39
+
40
+
Add the following dependency to your `build.gradle.kts`:
41
+
42
+
```kotlin
43
+
dependencies {
44
+
implementation(project(":misk-aws2-sqs"))
45
+
}
46
+
```
47
+
48
+
### 2. Install Required Modules
49
+
50
+
Install the SQS module in your application by adding it to your service module:
0 commit comments