public Task RegAsync(string ip, VideoRegResponce responce) { return(new Task(() => { // TODO : Доделать статистику })); }
protected override async Task UpdateAsync(VideoRegReqvestSettings parameters) { this.parameters = parameters; while (!source.IsCancellationRequested) { VideoRegResponce regResponce = null; try { regResponce = await api.GetVideoRegInfoAsync(Ip, config.TimeoutMs, source); } catch (TimeoutException e) { log.Error($"{Name} TimeoutException ({e.Message})"); } catch (OperationCanceledException) { return; } catch (WebException e) { log.Error($"{Name} update error ({e.Message})", e); } if (regResponce == null) { if (await SleepTrueIfCanceled(1000)) { return; } continue; } cache.SetVideoRegInfo(Ip, new VideoRegInfo { Ip = Ip, BrigadeCode = regResponce.BrigadeCode, IveSerial = regResponce.IveSerial, Version = regResponce.Version, VideoRegSerial = regResponce.VideoRegSerial }, regResponce.CurrentDate); regResponce.Cameras.ForEach(number => AddNewCameraUpdator(parameters, number)); log.Debug($"{Name} got info [{regResponce}]"); // Запускаем процедуру задачу сбора статистики // statisticRegistrator.RegAsync(Ip, regResponce).Start(); if (await SleepTrueIfCanceled(config.VideoRegPollingIntervalSeconds)) { return; } } }