Example #1
0
        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);
                    }
                }
            }
        }