public void Verify(string deviceName) { Console.WriteLine("Verifying MQTT bridge service is active..."); Console.WriteLine(" Device name: " + deviceName); var attempt = 1; var isFinished = false; var status = SystemCtlServiceStatus.NotSet; var serviceName = "growsense-mqtt-bridge-" + deviceName + ".service"; while (!isFinished) { status = SystemCtl.Status(serviceName); if (attempt > 10 || status == SystemCtlServiceStatus.Active) { isFinished = true; } else { attempt++; Console.WriteLine("Failed attempt. Trying again..."); Console.WriteLine(" Attempt: " + attempt); Thread.Sleep(1000); } } if (status != SystemCtlServiceStatus.Active) { throw new Exception("MQTT bridge service is not active for device: " + deviceName); } else { Console.WriteLine(" MQTT bridge service is active."); //var statusReport = SystemCtl.StatusReport(serviceName); // TODO: Remove if not needed. Disabled because it triggers from exceptions caused before connection succeeded. //if (statusReport.IndexOf("MqttConnectionException") > -1) // throw new Exception("MQTT Bridge failed to connect to broker for device: " + deviceName); //if (statusReport.IndexOf("No such file or directory") > -1) // throw new Exception("USB device not found for device: " + deviceName); } Console.WriteLine("Finished verifying MQTT bridge service is active."); }
public void Verify(string deviceName) { Console.WriteLine("Verifying UI controller service is active..."); Console.WriteLine(" Device name: " + deviceName); var attempt = 1; var isFinished = false; var status = SystemCtlServiceStatus.NotSet; var serviceName = "growsense-ui-1602-" + deviceName + ".service"; while (!isFinished) { status = SystemCtl.Status(serviceName); if (attempt > 10 || status == SystemCtlServiceStatus.Active) { isFinished = true; } else { attempt++; Console.WriteLine("Failed attempt. Trying again..."); Console.WriteLine(" Attempt: " + attempt); Thread.Sleep(1000); } } if (status != SystemCtlServiceStatus.Active) { throw new Exception("UI controller service is not active for device: " + deviceName); } else { Console.WriteLine(" UI controller service is active."); } Console.WriteLine("Finished verifying UI controller service is active."); }