private async void PersistCache(object state) { _timer.Change(Timeout.Infinite, Timeout.Infinite); try { var pairs = _cacheService.GetAll(); await _repository.WriteAsync(pairs.Select(AssetPairPrice.Create).ToArray()); } catch (Exception ex) { _log.Error(ex); } finally { _timer.Change(_persistPeriod, Timeout.InfiniteTimeSpan); } }