Example #1
0
        private void RenewLock()
        {
            long delay   = 0;
            var  retries = 3;

            while (true)
            {
                if (retries == 0)
                {
                    return;
                }
                var success = _lockHandle.RenewAsync(_log, CancellationToken.None).GetAwaiter().GetResult();
                if (!success)
                {
                    delay   = delay + 1000;
                    retries = retries - 1;
                    continue;
                }
                break;
            }
        }
Example #2
0
        private async Task RenewLock(CancellationToken cancellationToken)
        {
            var delay   = 0;
            var retries = 3;

            while (!cancellationToken.IsCancellationRequested)
            {
                if (retries == 0)
                {
                    return;
                }
                var exit = await _lockHandle.RenewAsync(_log, cancellationToken).ConfigureAwait(false);

                if (exit)
                {
                    return;
                }

                await Task.Delay(delay, cancellationToken).ConfigureAwait(false);

                delay   += 1000;
                retries -= 1;
            }
        }