public static GetArguments ( string args, int start ) : string>.IDictionary |
||
args | string | |
start | int | |
return | string>.IDictionary |
public static void Run(string[] args) { IDictionary <string, string> arguments = CommandHelpers.GetArguments(args, 1); if (arguments == null || arguments.Count == 0) { PrintUsage(); return; } Lucene.Net.Store.Directory srcDirectory = CommandHelpers.GetCopySrcLuceneDirectory(arguments); if (srcDirectory == null) { Console.WriteLine("problem with src arguments"); PrintUsage(); return; } Lucene.Net.Store.Directory destDirectory = CommandHelpers.GetCopyDestLuceneDirectory(arguments); if (destDirectory == null) { Console.WriteLine("problem with dest arguments"); PrintUsage(); return; } Lucene.Net.Store.Directory.Copy(srcDirectory, destDirectory, true); Console.WriteLine("All Done"); }
public static void Run(string[] args) { IDictionary <string, string> arguments = CommandHelpers.GetArguments(args, 1); if (arguments == null) { PrintUsage(); return; } Lucene.Net.Store.Directory directory = CommandHelpers.GetLuceneDirectory(arguments); if (directory == null) { PrintUsage(); return; } if (IndexReader.IndexExists(directory)) { using (IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30), true, IndexWriter.MaxFieldLength.UNLIMITED)) { writer.DeleteAll(); writer.Commit(new Dictionary <string, string>()); } } Console.WriteLine("All Done"); }
public static void Run(string[] args) { IDictionary <string, string> arguments = CommandHelpers.GetArguments(args, 1); if (arguments == null || arguments.Count == 0) { PrintUsage(); return; } Lucene.Net.Store.Directory directory = CommandHelpers.GetLuceneDirectory(arguments); if (directory == null) { PrintUsage(); return; } string source = CommandHelpers.GetSource(arguments); if (source == null) { PrintUsage(); return; } bool verbose = CommandHelpers.GetVerbose(arguments); if (verbose) { Trace.Listeners.Add(new ConsoleTraceListener()); Trace.AutoFlush = true; } int interval = CommandHelpers.GetInterval(arguments); string registration = CommandHelpers.GetRegistration(arguments); if (registration == null) { Console.WriteLine("Lucene index will be created up to the end of the catalog (alternatively if you provide a registration it will not pass that)"); } string catalogBaseAddress = CommandHelpers.GetCatalogBaseAddress(arguments); if (catalogBaseAddress == null) { Console.WriteLine("No catalogBaseAddress was specified so the Lucene index will NOT contain the storage paths"); } string storageBaseAddress = CommandHelpers.GetStorageBaseAddress(arguments); Trace.TraceInformation("CONFIG source: \"{0}\" registration: \"{1}\" catalogBaseAddress: \"{2}\" storageBaseAddress: \"{3}\" interval: {4} seconds", source, registration ?? "(null)", catalogBaseAddress ?? "(null)", storageBaseAddress ?? "(null)", interval); Loop(source, registration, directory, catalogBaseAddress, storageBaseAddress, verbose, interval).Wait(); }
public static void Run(string[] args) { IDictionary <string, string> arguments = CommandHelpers.GetArguments(args, 1); if (arguments == null || arguments.Count == 0) { PrintUsage(); return; } string gallery = CommandHelpers.GetGallery(arguments); if (gallery == null) { PrintUsage(); return; } bool verbose = CommandHelpers.GetVerbose(arguments); int interval = CommandHelpers.GetInterval(arguments); DateTime startDate = CommandHelpers.GetStartDate(arguments); StorageFactory storageFactory = CommandHelpers.CreateStorageFactory(arguments, verbose); if (storageFactory == null) { PrintUsage(); return; } if (verbose) { Trace.Listeners.Add(new ConsoleTraceListener()); Trace.AutoFlush = true; } Trace.TraceInformation("CONFIG source: \"{0}\" storage: \"{1}\" interval: {2}", gallery, storageFactory, interval); DateTime?nullableStartDate = null; if (startDate != DateTime.MinValue) { nullableStartDate = startDate; } Loop(gallery, storageFactory, verbose, interval, nullableStartDate).Wait(); }
public static void Package(string[] args) { IDictionary <string, string> arguments = CommandHelpers.GetArguments(args, 1); if (arguments == null || arguments.Count == 0) { PackagePrintUsage(); return; } string gallery = CommandHelpers.GetGallery(arguments); if (gallery == null) { PackagePrintUsage(); return; } bool verbose = CommandHelpers.GetVerbose(arguments); string id = CommandHelpers.GetId(arguments); if (id == null) { PackagePrintUsage(); return; } string version = CommandHelpers.GetVersion(arguments); StorageFactory storageFactory = CommandHelpers.CreateStorageFactory(arguments, verbose); if (storageFactory == null) { PrintUsage(); return; } if (verbose) { Trace.Listeners.Add(new ConsoleTraceListener()); Trace.AutoFlush = true; } ProcessPackages(gallery, storageFactory, id, version, verbose).Wait(); }
public static void Run(string[] args) { IDictionary <string, string> arguments = CommandHelpers.GetArguments(args, 1); if (arguments == null || arguments.Count == 0) { PrintUsage(); return; } string source = CommandHelpers.GetSource(arguments); if (source == null) { PrintUsage(); return; } bool verbose = CommandHelpers.GetVerbose(arguments); int interval = CommandHelpers.GetInterval(arguments); string contentBaseAddress = CommandHelpers.GetContentBaseAddress(arguments); StorageFactory storageFactory = CommandHelpers.CreateStorageFactory(arguments, verbose); if (storageFactory == null) { PrintUsage(); return; } if (verbose) { Trace.Listeners.Add(new ConsoleTraceListener()); Trace.AutoFlush = true; } Trace.TraceInformation("CONFIG source: \"{0}\" storage: \"{1}\" interval: {2} seconds", source, storageFactory, interval); Loop(source, storageFactory, contentBaseAddress, verbose, interval).Wait(); }
public static void Run(string[] args) { IDictionary <string, string> arguments = CommandHelpers.GetArguments(args, 1); if (arguments == null || arguments.Count == 0) { PrintUsage(); return; } Lucene.Net.Store.Directory directory = CommandHelpers.GetLuceneDirectory(arguments); if (directory == null) { PrintUsage(); return; } using (IndexReader reader = IndexReader.Open(directory, true)) { Console.WriteLine("Lucene index contains: {0} documents", reader.NumDocs()); IDictionary <string, string> commitUserData = reader.CommitUserData; if (commitUserData == null) { Console.WriteLine("commitUserData is null"); } else { Console.WriteLine("commitUserData:"); foreach (var entry in commitUserData) { Console.WriteLine(" {0} = {1}", entry.Key, entry.Value); } } } }
public static async Task MainAsync(string[] args) { if (args.Length > 0 && string.Equals("dbg", args[0], StringComparison.OrdinalIgnoreCase)) { args = args.Skip(1).ToArray(); Debugger.Launch(); } NgJob job = null; try { // Get arguments var arguments = CommandHelpers.GetArguments(args, 1); // Ensure that SSLv3 is disabled and that Tls v1.2 is enabled. ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12; // Determine the job name if (args.Length == 0) { throw new ArgumentException("Missing job name argument."); } var jobName = args[0]; TelemetryConfiguration.Active.TelemetryInitializers.Add(new JobNameTelemetryInitializer(jobName)); // Configure ApplicationInsights ApplicationInsights.Initialize(arguments.GetOrDefault <string>(Arguments.InstrumentationKey)); // Create an ILoggerFactory var loggerConfiguration = LoggingSetup.CreateDefaultLoggerConfiguration(withConsoleLogger: true); loggerConfiguration.WriteTo.File("Log.txt", retainedFileCountLimit: 3, fileSizeLimitBytes: 1000000, rollOnFileSizeLimit: true); var loggerFactory = LoggingSetup.CreateLoggerFactory(loggerConfiguration, LogEventLevel.Debug); // Create a logger that is scoped to this class (only) _logger = loggerFactory.CreateLogger <Program>(); var cancellationTokenSource = new CancellationTokenSource(); // Create an ITelemetryService var telemetryService = new TelemetryService(new TelemetryClient()); // Allow jobs to set global custom dimensions TelemetryConfiguration.Active.TelemetryInitializers.Add(new JobPropertiesTelemetryInitializer(telemetryService)); job = NgJobFactory.GetJob(jobName, telemetryService, loggerFactory); await job.RunAsync(arguments, cancellationTokenSource.Token); } catch (ArgumentException ae) { _logger?.LogError("A required argument was not found or was malformed/invalid: {Exception}", ae); Console.WriteLine(job != null ? job.GetUsage() : NgJob.GetUsageBase()); } catch (Exception e) { _logger?.LogCritical("A critical exception occured in ng.exe! {Exception}", e); } Trace.Close(); TelemetryConfiguration.Active.TelemetryChannel.Flush(); }
public static async Task MainAsync(string[] args) { if (args.Length > 0 && string.Equals("dbg", args[0], StringComparison.OrdinalIgnoreCase)) { args = args.Skip(1).ToArray(); Debugger.Launch(); } NgJob job = null; ApplicationInsightsConfiguration applicationInsightsConfiguration = null; int exitCode = 0; try { // Get arguments var arguments = CommandHelpers.GetArguments(args, 1, out var secretInjector); // Ensure that SSLv3 is disabled and that Tls v1.2 is enabled. ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12; // Determine the job name if (args.Length == 0) { throw new ArgumentException("Missing job name argument."); } var jobName = args[0]; var instanceName = arguments.GetOrDefault(Arguments.InstanceName, jobName); var instrumentationKey = arguments.GetOrDefault <string>(Arguments.InstrumentationKey); var heartbeatIntervalSeconds = arguments.GetOrDefault <int>(Arguments.HeartbeatIntervalSeconds); applicationInsightsConfiguration = ConfigureApplicationInsights( instrumentationKey, heartbeatIntervalSeconds, jobName, instanceName, out var telemetryClient, out var telemetryGlobalDimensions); var loggerFactory = ConfigureLoggerFactory(applicationInsightsConfiguration); InitializeServiceProvider( arguments, secretInjector, applicationInsightsConfiguration, telemetryClient, loggerFactory); job = NgJobFactory.GetJob(jobName, loggerFactory, telemetryClient, telemetryGlobalDimensions); job.SetSecretInjector(secretInjector); // This tells Application Insights that, even though a heartbeat is reported, // the state of the application is unhealthy when the exitcode is different from zero. // The heartbeat metadata is enriched with the job loop exit code. applicationInsightsConfiguration.DiagnosticsTelemetryModule?.AddOrSetHeartbeatProperty( HeartbeatProperty_JobLoopExitCode, exitCode.ToString(), isHealthy: exitCode == 0); var cancellationTokenSource = new CancellationTokenSource(); await job.RunAsync(arguments, cancellationTokenSource.Token); exitCode = 0; } catch (ArgumentException ae) { exitCode = 1; _logger?.LogError("A required argument was not found or was malformed/invalid: {Exception}", ae); Console.WriteLine(job != null ? job.GetUsage() : NgJob.GetUsageBase()); } catch (KeyNotFoundException knfe) { exitCode = 1; _logger?.LogError("An expected key was not found. One possible cause of this is required argument has not been provided: {Exception}", knfe); Console.WriteLine(job != null ? job.GetUsage() : NgJob.GetUsageBase()); } catch (Exception e) { exitCode = 1; _logger?.LogCritical("A critical exception occured in ng.exe! {Exception}", e); } applicationInsightsConfiguration.DiagnosticsTelemetryModule?.SetHeartbeatProperty( HeartbeatProperty_JobLoopExitCode, exitCode.ToString(), isHealthy: exitCode == 0); Trace.Close(); applicationInsightsConfiguration?.TelemetryConfiguration.TelemetryChannel.Flush(); }