using System; using System.Net; using System.Threading.Tasks; using meilisearch.NET; using meilisearch.NET.Configurations; using meilisearch.NET.example; using meilisearch.NET.Extensions; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; public class Program { public static async Task Main(string[] args) { ServicePointManager.SecurityProtocol = SecurityProtocolType.SystemDefault; IHost host = CreateHostBuilder(args).Build(); var testService = host.Services.GetService(); await host.RunAsync(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, configuration) => { configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); configuration.AddEnvironmentVariables(); configuration.AddCommandLine(args); }) .ConfigureServices((hostContext, services) => { services.AddMeiliSearchService(); services.AddSingleton(); // Add logging configuration services.AddLogging(builder => { builder.ClearProviders(); builder.AddConsole(); builder.SetMinimumLevel(LogLevel.Information); }); }) .UseConsoleLifetime(options => { options.SuppressStatusMessages = true; }); } public class test { private readonly ILogger _logger; public test(MeiliSearchService service, ILogger logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); // Wait until Meilisearch is running while (!service.IsMeilisearchRunning()) { _logger.LogInformation("Waiting for Meilisearch to start..."); Task.Delay(1000).Wait(); // Wait for 1 second before checking again } var usage = service.GetProcessResourceUsage(); _logger.LogInformation($"Memory usage: {usage.MemoryUsageBytes} MB"); _logger.LogInformation($"CPU usage: {usage.CpuPercentage} %"); _logger.LogInformation($"Disk read: {usage.DiskReadBytes} MB"); _logger.LogInformation($"Disk write: {usage.DiskWriteBytes} MB"); _logger.LogInformation($"Thread count: {usage.ThreadCount}"); _logger.LogInformation($"Process ID: {usage.ProcessId}"); //service.UpdateIndexStatus("test",false).Wait(); // service.AddDocument("test", new document() // { // Id = Guid.NewGuid(), // message = "Hello, Meilisearch!" // }); // service.AddDocument("test", new document() // { // Id = Guid.NewGuid(), // message = "Hello, Meilisearch!" // }); // service.AddDocument("test", new document() // { // Id = Guid.NewGuid(), // message = "Hello, Meilisearch!" // }); // service.AddDocument("test", new document() // { // Id = Guid.NewGuid(), // message = "Hello, Meilisearch!" // }); // service.AddDocument("test", new document() // { // Id = Guid.NewGuid(), // message = "Hello, Meilisearch!" // }); // service.AddDocument("test", new document() // { // Id = Guid.NewGuid(), // message = "Hello, Meilisearch!" // }); // service.AddDocument("test", new document() // { // Id = Guid.NewGuid(), // message = "Hello, Meilisearch!" // }); _logger.LogInformation("Test service initialized."); } }