Redisson Lock
inline fun RedissonClient .lock(
lockName: String ,
waitTime: Duration ,
leaseTime: Duration ,
action: (RLock) -> T
): LockResult {
val lock = getLock(lockName)
val success = lock.tryLock(
waitTime.toMillis (),
leaseTime.toMillis (),
TimeUnit.MILLISECONDS)
// check - try action - finally unlock
}
33