Comments (2)
Hi @KandarpPatel07 thanks for your interest in the library. Currently, Redis locks do operate on a timeout but they have "auto-renewal" set up such that the process holding the lock will periodically re-up the timeout if the lock has not been released. Typically, you don't want the process holding the lock to silently lose it just because an operation took longer than expected.
That said, if you want to mandate an absolute timeout for the lock hold, today you can do so like this:
await using (var handle = await myDistributedLock.AcquireAsync())
{
// force-release the lock after 10 minutes
Task.Delay(TimeSpan.FromMinutes(10)).ContinueWith(_ => handle.Dispose());
// potential infinite loop here
}
If there was sufficient interest, potentially this could be built directly into the library as a new option.
from distributedlock.
Related (but different) ask: #130
from distributedlock.
Related Issues (20)
- Too many UnobservedTaskException HOT 2
- IOException: directory already exists in Ubuntu
- Elaborate on ZooKeeper setup docs HOT 1
- Upgrade to NUnit 4 and leverage new features like Assert.ThatAsync and Assert.Multiple
- Use NUnit.Analyzers to prepare for migration to NUnit 4
- Add additional TFM so the dependency on System.Threading.AccessControl can be removed HOT 2
- Azure Semaphore implementation HOT 1
- Local development and CI using test containers HOT 5
- Dependency on Microsoft.Data.SqlClient 5.2.0 may be unnecessary HOT 5
- Postgres: Add support for transaction-scoped advisory locks with external DB connections HOT 9
- EventWaitHandle support for local namespace HOT 2
- Rare race condition with keepalive after upgrading to Npgsql 8.0.3
- Core Next Minor - normalize locking in DatabaseConnection.CreateCommand()
- Upgrade to Npgsql 8.0.3
- Take advantage of """ strings in various files
- RedisScript<T> whitespace regex doesn't need to consider single whitespace chars
- Single-node in-memory implementation HOT 2
- Sqlite implementation HOT 1
- Postgres: allow ShouldPrepareCommands to be false to work with npgsql driver Multiplexing HOT 1
- DistributedLock.Azure - Locks not being released as of 7/1/2024 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from distributedlock.