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
Is your feature request related to a problem? Please describe.
I plan to implement Shedlock as my unique locking solution, handling both scheduled tasks and concurrent web requests within my system.
While the implementation is moving forward, I've identified a specific scenario where the current approach falls short of the required functionality.
Suppose a configuration that locks the given key for one second
The first request will pass and activate the lock for one second.
The following requests passing by the same lock key while the first one is being executed will be blocked
After the conclusion of the first request, the lock will not be released, so the subsequent ones have to wait until the expiration time to allow another request
I want to be capable to manually release the lock when the first request is done and allow future requests before the expiration time.
Situation
Intention
Describe the solution you'd like
I'd like to have an unlock option, as an annotation, or method, to be capable to release the given lock manually.
Describe alternatives you've considered
I have considered to lower my lock time, but I cannot predict the request latency.
I have considered to use another lock solution, but I already use shedock as scheduler lock and want to use an all-in-one solution
Additional context
Here is an example implementation of request locking in the project that i am working on:
I am utilizing Java with Spring and my LockProvider is set up to work with JDBC.
Hi, sorry, but I don't understand what you are asking for. Currently, in ShedLock
If one task holds the lock, other tasks are not blocked but skipped.
If a tasks finished, the lock is released at once, unless you specify lockAtLeastFor
Regardless of what you are asking for, I am generally reluctant to change behavior for unusual requirements, as I try to keep the complixity of the library as low as possible.
Is your feature request related to a problem? Please describe.
I plan to implement Shedlock as my unique locking solution, handling both scheduled tasks and concurrent web requests within my system.
While the implementation is moving forward, I've identified a specific scenario where the current approach falls short of the required functionality.
Suppose a configuration that locks the given key for one second
I want to be capable to manually release the lock when the first request is done and allow future requests before the expiration time.
Situation
![image](https://private-user-images.githubusercontent.com/62678077/400969229-0401a85c-3b8d-4043-932c-0d7b57d2f663.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNzQzNDAsIm5iZiI6MTczOTA3NDA0MCwicGF0aCI6Ii82MjY3ODA3Ny80MDA5NjkyMjktMDQwMWE4NWMtM2I4ZC00MDQzLTkzMmMtMGQ3YjU3ZDJmNjYzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDA0MDcyMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE0M2Q5NWE1OGNiZjhkZTM5Y2M3MGEzZjI4NGY3YjEwMzc0MzlmMzFkNjE0YTFlZmJhZGI1Y2YxNGYxYWViMTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.fhYzULJouo_75AM3Gq4KOcYGFBdUt4Vilus4CqkuNqc)
Intention
![image](https://private-user-images.githubusercontent.com/62678077/400969259-cea90a30-d719-44d2-8c1c-6723de2b2dcd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNzQzNDAsIm5iZiI6MTczOTA3NDA0MCwicGF0aCI6Ii82MjY3ODA3Ny80MDA5NjkyNTktY2VhOTBhMzAtZDcxOS00NGQyLThjMWMtNjcyM2RlMmIyZGNkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDA0MDcyMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg3YTI0ZGQ2NzRhNzI2MWQyZDQ4MzlkNWJjYTdlMTZkMDdhMWQxNTM1MDhiNjBlYzNjNWE5OGI5MTNkOWM3MjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Y-FYY-dkxxAb4n6KBtC1oKQQfRL1fc5zZDDBNEx3F-g)
Describe the solution you'd like
I'd like to have an unlock option, as an annotation, or method, to be capable to release the given lock manually.
Describe alternatives you've considered
Additional context
Here is an example implementation of request locking in the project that i am working on:
I am utilizing Java with Spring and my LockProvider is set up to work with JDBC.
Controller:
Business Logic Method:
Lock service:
Final Considerations
If you consider the request valid I am willing to help with the feature implementation.
The text was updated successfully, but these errors were encountered: