public override bool Lock(string resourceName, int retryCount, TimeSpan retryDelay) { if (retryCount != 0) { _dlm = new Redlock.CSharp.Redlock(retryCount, retryDelay, _redisStragegy._client); } else if (_dlm == null) { _dlm = new Redlock.CSharp.Redlock(_redisStragegy._client); } var successfull = _dlm.Lock(resourceName, new TimeSpan(0, 0, 10), out _lockObject); return(successfull); }
public override bool Lock(string resourceName, int retryCount, TimeSpan retryDelay) { if (retryCount != 0) { _dlm = new Redlock.CSharp.Redlock(retryCount, retryDelay, _redisStrategy._client); } else if (_dlm == null) { _dlm = new Redlock.CSharp.Redlock(_redisStrategy._client); } var ttl = (retryDelay.TotalMilliseconds > 0 ? retryDelay.TotalMilliseconds : 10) * (retryCount > 0 ? retryCount : 10); var successfull = _dlm.Lock(resourceName, TimeSpan.FromMilliseconds(ttl), out _lockObject); return(successfull); }