lukas-krecan / ShedLock

Distributed lock for your scheduled tasks
Apache License 2.0
3.59k stars 507 forks source link

Feature Enhancement Proposal: Support for Custom Partition Keys and DynamoDBAsyncClient in Shedlock #2076

Open himanshu8434 opened 1 month ago

himanshu8434 commented 1 month ago

Hello @lukas-krecan

Our team is looking to use Shedlock for task scheduling in our project, and we plan to use DynamoDB as our database. We have identified a few areas where the Shedlock DynamoDB provider could be improved:

  1. Custom Partition Key Name: Currently, the partition key name in the DynamoDB provider is static and set to _id. This limitation poses a challenge for us as we have existing tables in production where the partition key is named differently. It would be helpful if the partition key name could be passed as a parameter when initializing the DynamoDB provider. This flexibility would allow us to utilize our existing tables without having to modify them.

  2. Support for DynamoDBAsyncClient: In our Spring WebFlux project, we use non-blocking code extensively and have a DynamoDbAsyncClient bean for interacting with DynamoDB. However, Shedlock does not currently support the DynamoDbAsyncClient, necessitating the creation of an additional DynamoDB client bean specifically for Shedlock. It would be beneficial if the DynamoDB provider could be updated to support both DynamoDbClient and DynamoDbAsyncClient, enabling us to maintain a fully non-blocking architecture.

if you need any support or assistance in implementing these features, I would be happy to contribute to the development effort.

Thanks!

lukas-krecan commented 1 month ago

Hi, thanks. Please send a PR for both issues.

kumar-himans commented 1 week ago

Hi @lukas-krecan, Sorry for the delayed response, I have raised the PR for the 1st issue. Please check https://github.com/lukas-krecan/ShedLock/pull/2121 . This is my corporate GitHub account.

Thanks!