public void ScanDroneMain(object sender, System.Timers.ElapsedEventArgs args) { try { log.Debug("====================Scan Start======================="); using (WCFAPI.WCFMacrosClient client = new WCFAPI.WCFMacrosClient()) { try { log.Debug("dorne waiting count : (" + client.Requests_Waiting() + ") Reset respose count = 0"); if (is_resarting) { is_resarting = false; log.Debug("start Drone completed! mark is_resarting as false"); } DroneResponseCount = 0; } catch { DroneResponseCount++; log.Debug("increse Drone not Response Count to: (" + DroneResponseCount + ")"); } } if (DroneResponseCount >= 3 && !is_resarting) { log.Debug("Server not response in 3 times starting resart it and send email to DEV team."); using (var srv = new PortalService.CommonServiceClient()) { srv.SendEmailByAddress("[email protected];[email protected];[email protected]", null, "Drone is not response restarting it ", "Hi All,<br> <br> Drone on (" + System.Environment.MachineName + ") is not response the monitor program is restart it ! please notice !!"); } ResartDrone(); } log.Debug("====================Scan End======================="); } catch (Exception ex) { log.Error(ex); } }
public void SendToDrone(object sender, System.Timers.ElapsedEventArgs args) { log.Debug("======================start send bble to drone======================================"); if (is_resarting) { log.Debug("server is restaring please check drone give up this time !"); return; } try { if (NeedRunBBLEs == null) { NeedRunBBLEs = GetNeedRunBBlEs(); if (NeedRunBBLEs == null) { log.Debug("can not find bbles in file BBlEs.json please check."); } } //Loop using (var client = new WCFAPI.WCFMacrosClient()) { var waitingCount = -1; try { waitingCount = client.Requests_Waiting(); } catch { log.Debug("Some time error Requests_Waiting if want know detail please use break point!"); waitingCount = -1; } var needAdd = 20 - waitingCount; if (needAdd > 0 && waitingCount >= 0) { int RanCount = Convert.ToInt32(ReadData("RanCount")); for (var i = 0; i < needAdd; i++) { RanCount++; if (RanCount < NeedRunBBLEs.Count()) { int apiOrder = (new Random()).Next(1000, 2000); var bble = NeedRunBBLEs.ToList()[RanCount].ToString(); client.GetPropdata(bble, apiOrder, true, true, true, true, true, false); client.Get_Servicer(apiOrder, bble); log.Debug(String.Format("Request BBLE: {0} in ({1}/{2}) waiting request is ({3})", bble, RanCount, NeedRunBBLEs.Count, waitingCount)); SetData("RanCount", RanCount); } else { log.Debug("***********end of Send request loop***********"); } } } else { log.Debug("Loop has (" + waitingCount.ToString() + ") waitingCount is busy now"); } } } catch (Exception ex) { log.Debug(ex); } log.Debug("======================end send bble to drone======================================"); }