示例#1
0
文件: Worker.cs 项目: RomaKV/Railways
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                var resultRailway = await _railwayClient.GetAllAsync();


                if (resultRailway != null)
                {
                    _logger.LogInformation($"Got resultRailway count: {resultRailway?.Data.Count()}");
                    if (resultRailway.DateUpdate > _dateUpdateRailwayInfo)
                    {
                        if (resultRailway.Data?.Any() == true)
                        {
                            _logger.LogInformation($"Saving railway [{DateTime.Now}]");
                            await _updateRwyDbClient.UpdateRailwayAsync(resultRailway.Data);

                            _logger.LogInformation($"Saved railway [{DateTime.Now}]");

                            _dateUpdateRailwayInfo = resultRailway.DateUpdate;
                        }
                    }
                }


                var resultStation = await _stationClient.GetAllAsync();

                if (resultStation != null)
                {
                    _logger.LogInformation($"Got resultStation count: {resultStation?.Data.Count()}");

                    if (resultStation.DateUpdate > _dateUpdateStationInfo)
                    {
                        if (resultStation.Data?.Any() == true)
                        {
                            await _updateRwyDbClient.UpdateStationAsync(resultStation.Data);
                        }

                        await _busClient.PublishAsync(new UpdateInfoStationsEvent(DateTime.Now));

                        _dateUpdateStationInfo = resultStation.DateUpdate;
                    }
                }

                _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
                await Task.Delay(900000, stoppingToken);
            }
        }
示例#2
0
 public async Task <HttpResponseMessage> UpdateStationAsync(IEnumerable <StationJsonModel> stations)
 {
     return(await _updateRwyDb.UpdateStationAsync(stations));
 }