public async Task <bool> Load() { var status = await _client.GetStatusAsync(); if (status != null && status.Contains("server is running")) { return(true); } _mlSharpPython = new MlSharpPython(_pythonExecName); if (await Task.Run(() => _mlSharpPython.Run(_fileNameParameter))) { var startTime = DateTime.Now; TimeSpan waitingTime = new TimeSpan(0, 0, 0, 2); while (DateTime.Now - startTime < waitingTime) { Thread.Sleep(100); status = await _client.GetStatusAsync(); if (status != null && status.Contains("server is running")) { return(true); } } } return(false); }
public async Task <bool> Run() { Console.WriteLine("Checking reina-net service..."); var status = await _client.GetStatusAsync(); if (status != null && status.Contains("server is running")) { Console.WriteLine("Reina-net is ready!"); return(true); } Console.WriteLine("Retina-net is not running: trying to run..."); await Load(); if (await _docker.Run(_id)) { Console.WriteLine("Container runs. Loading retina-net model..."); var startTime = DateTime.Now; TimeSpan waitingTime = new TimeSpan(0, 0, 10, 0); while (DateTime.Now - startTime < waitingTime) { // Provide a 100ms startup delay await Task.Delay(TimeSpan.FromMilliseconds(100)); status = await _client.GetStatusAsync(); if (status != null && status.Contains("server is running")) { Console.WriteLine("Reina-net is ready!"); return(true); } } } return(false); }
public async Task <bool> Run() { Console.WriteLine("Checking retina-net service..."); var status = await _client.GetStatusAsync(); if (status != null && status.Contains("server is running", StringComparison.InvariantCultureIgnoreCase)) { Console.WriteLine("Retina-net is ready!"); return(true); } Console.WriteLine("Retina-net is not running: trying to run..."); await Load(); if (await _docker.Run(_id)) { Console.WriteLine("Container runs. Loading retina-net model..."); var startTime = DateTime.Now; //wait no more then 10 min. while ((DateTime.Now - startTime).TotalMinutes < 10) { // Provide a 100ms startup delay await Task.Delay(TimeSpan.FromMilliseconds(100)); status = await _client.GetStatusAsync(); if (status != null && status.Contains("server is running", StringComparison.InvariantCultureIgnoreCase)) { Console.WriteLine("Retina-net is ready!"); return(true); } } } return(false); }