/// <summary>
        /// Queries the highdensity detial.
        /// </summary>
        /// <param name="x">The x.</param>
        public void QueryHighdensityDetial(HighdensityServer x)
        {
            var task = Task.Run(() =>
            {
                try
                {
                    var device = this.Session.GetServerDetails(x.DN);
                    x.MakeDetail(device);
                    x.ChildHighdensitys.ForEach(
                        m =>
                    {
                        var deviceDatail = this.Session.GetServerDetails(m.DN);
                        m.MakeChildBladeDetail(deviceDatail);
                    });

                    // 插入數據
                    HighdensityConnector.Instance.InsertDetials(x);
                }
                catch (Exception ex)
                {
                    this.OnError($"QueryHighdensityDetial Error:DN:{x.DN}", ex);
                }
            });

            this.taskList.Add(task);
        }
Beispiel #2
0
        /// <summary>
        /// Queries the highdensity detial.
        /// </summary>
        /// <param name="x">The x.</param>
        /// <param name="isPolling">是否轮询</param>
        private void QueryHighdensityDetial(HighdensityServer x)
        {
            var task = taskFactory.StartNew(() =>
            {
                try
                {
                    var device = this.Session.GetServerDetails(x.DN);
                    x.MakeDetail(device, this.ESightIp);
                    x.ChildHighdensitys.ForEach(
                        m =>
                    {
                        var deviceDatail = this.Session.GetServerDetails(m.DN);
                        m.MakeChildBladeDetail(deviceDatail);
                    });

                    // 插入數據
                    HighdensityConnector.Instance.SyncServer(x);
                }
                catch (Exception ex)
                {
                    OnPollingError($"QueryHighdensityDetial Error:DN:{x.DN}", ex);
                }
            }, cts.Token);

            this.taskList.Add(task);
        }
 /// <summary>
 /// 更新高密管理板
 /// </summary>
 /// <param name="model">The model.</param>
 /// <param name="alarmSn">The alarm sn.</param>
 private void UpdateHighdensityServer(HWDeviceDetail model, int alarmSn)
 {
     try
     {
         logger.NotifyProcess.Info($"Start Update HighdensityServer:{model.DN} .[alarmSn:{alarmSn}]");
         var server = new HighdensityServer
         {
             DN           = model.DN,
             ServerName   = model.Name,
             Manufacturer = string.Empty,
             ServerModel  = model.Mode,
             IpAddress    = model.IpAddress,
             Location     = string.Empty,
             Status       = model.Status
         };
         server.MakeDetail(model, this.ESightIp);
         HighdensityConnector.Instance.UpdateMain(server, false);
     }
     catch (Exception ex)
     {
         logger.NotifyProcess.Error(ex, $"UpdateHighdensityServer Error.Dn:{model.DN} .[alarmSn:{alarmSn}] ");
     }
 }
 /// <summary>
 /// 更新高密管理板
 /// </summary>
 /// <param name="model">The model.</param>
 public void UpdateHighdensityServer(HWDeviceDetail model)
 {
     try
     {
         var server = new HighdensityServer
         {
             DN           = model.DN,
             ServerName   = model.Name,
             Manufacturer = string.Empty,
             ServerModel  = model.Mode,
             IpAddress    = model.IpAddress,
             Location     = string.Empty,
             Status       = model.Status,
             ESight       = this.ESightIp
         };
         server.MakeDetail(model);
         HighdensityConnector.Instance.UpdateMainWithOutChildBlade(server);
     }
     catch (Exception ex)
     {
         this.OnNotifyError($"UpdateHighdensityServer Error.eSight:{this.ESightIp} Dn:{model.DN}. ", ex);
     }
 }
Beispiel #5
0
 /// <summary>
 /// 更新高密管理板
 /// </summary>
 /// <param name="parentDn">The parent dn.</param>
 public void UpdateHighdensityServer(string parentDn)
 {
     try
     {
         var model  = this.Session.GetServerDetails(parentDn);
         var server = new HighdensityServer
         {
             DN           = parentDn,//查询高密服务器详情返回的是第一个子刀片的dn.因此此处需要以管理板dn为准
             ServerName   = model.Name,
             Manufacturer = string.Empty,
             ServerModel  = model.Mode,
             IpAddress    = model.IpAddress,
             Location     = string.Empty,
             Status       = model.Status
         };
         server.MakeDetail(model, this.ESightIp);
         this.QueryHighdensityDetial(server);
     }
     catch (Exception ex)
     {
         this.OnNotifyError($"UpdateHighdensityServer Error.eSight:{this.ESightIp} Dn:{parentDn}. ", ex);
     }
 }