/// <summary> /// Create an <see cref="ApsimServer" /> instance. /// </summary> /// <param name="file">.apsimx file to be run.</param> public ApsimServer(GlobalServerOptions options) { this.options = options; sims = FileFormat.ReadFromFile <Simulations>(options.File, e => throw e, false); sims.FindChild <Models.Storage.DataStore>().UseInMemoryDB = true; runner = new Runner(sims); jobRunner = new ServerJobRunner(); runner.Use(jobRunner); }
/// <summary> /// Start the server with the given options. /// </summary> /// <param name="options">Options specified by the user (via CLI).</param> private static void Run(GlobalServerOptions options) { try { if (!(options is RelayServerOptions)) { using (ApsimServer server = new ApsimServer(options)) server.Run(); } } catch (Exception error) { Console.Error.WriteLine(error.ToString()); exitCode = 1; } }