lockgate
lockgate copied to clipboard
Lockgate is a cross-platform distributed locking library for Go. Supports distributed locks backed by Kubernetes or HTTP lock server. Supports conventional OS file locks.
Thank you for your hard work. Been reading through this and the few other implementations of distributed locking systems. A uniquely simple design in this case. Effectively you take the...
Hi. Can i use this library like a semaphore. For example Acquire() can return SharedHoldersCount, not only LockHandle
Maybe lockgate should use golang native context objects to implement timeouts.
Multiple calls to try-lock from multiple goroutines results in exclusive locks being taken in multiple goroutines simultaneously. Steps to reproduce needed.
Add optional AcquirerId to AcquireOptions. If passed, it will hold the acquirer's place in line if the requested lock is already held. When the lock expires or is released, the...