protected override async Task ExecuteAsync(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested) { await Task.Delay(1000, stoppingToken).ConfigureAwait(false); if (!(cluster.Leader?.IsRemote ?? true)) { var newValue = valueProvider.Value + 500L; Console.WriteLine("Saving value {0} generated by the leader node", newValue); try { await valueProvider.UpdateValueAsync(newValue, TimeSpan.FromSeconds(2), stoppingToken); } catch (Exception e) { Console.WriteLine("Unexpected error {0}", e); } } } }