public void Run(ITaskArgs args_) { var args = (ServeTaskArgs)args_; server = new WebServer(new IPEndPoint(IPAddress.Any, args.Port)); logger.Info("Web server started at http://localhost:{0}/", args.Port); Program.Exit.WaitOne(); }
public void Run(ITaskArgs args_) { var args = (ImportTaskArgs)args_; var id = Settings.Instance.Libraries.FirstOrDefault(lib => args.Library.Equals(lib.Value.Path, StringComparison.InvariantCultureIgnoreCase)).Key; if (id == Guid.Empty) { libId = Guid.NewGuid(); } else { libId = id; } var startedAt = DateTime.UtcNow; args.Plugin.Run(args.Library, args.Args, OnImportBook, OnImportFinished); importer.Open(Settings.Instance.DatabaseIndex); for (var i = 0; i < Environment.ProcessorCount; i++) { Task.Factory.StartNew(ImportWorker); } while (EntriesProcessed < EntriesTotal || !finished) { Thread.Sleep(100); } running = false; EntriesDeleted = importer.CleanupLibrary(libId.ToString(), startedAt); Settings.Instance.Libraries[libId] = new SettingsLibrary { Path = args.Library }; Settings.Save(); Finished = true; }