private static void Load(string settingsFileName) { var settings = new DispatcherSettings(); try { //System.Threading.Thread.Sleep(3000);//DEBUG if (File.Exists(settingsFileName)) { using (var stream = new FileStream(settingsFileName, FileMode.Open, FileAccess.Read, FileShare.Read)) settings.LoadFrom(stream); } else { var errorMessage = String.Format("Invalid script file: {0}", settingsFileName); Log.Info(errorMessage); Console.WriteLine(errorMessage); return; } settings.Validate(); Dispatcher = new Dispatcher(); Dispatcher.Disposed += (s, e) => { Environment.Exit(0); }; Dispatcher.Initialize(settings); } catch (Exception ex) { var errorMessage = String.Format("Could not load Computational Unit for {0}!", settings.DispatcherId); Log.Error(ex, errorMessage); Console.WriteLine(errorMessage); Environment.Exit(0); } }
protected override void LaunchComputationalUnit(DispatcherSettings settings) { var dispatcher = new Dispatcher(); dispatcher.Initialize(settings); /* * Atention: * These dispatcher continue to live after the InProcessDispatcherLauncher is disposed * They will be disposed only after they receive a poison pill */ }