hello-shop/samples/GarnetWindowsService/GarnetWindowsService/GarnetService.cs

36 lines
1.0 KiB
C#

// Copyright (c) HelloShop Corporation. All rights reserved.
// See the license file in the project root for more information.
using Garnet;
namespace GarnetWindowsService
{
public class GarnetService(ILoggerFactory loggerFactory) : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
if (!stoppingToken.IsCancellationRequested)
{
using var server = new GarnetServer([]);
ILogger logger = loggerFactory.CreateLogger<GarnetService>();
logger.LogInformation("Starting Garnet server...");
try
{
server.Start();
}
catch (Exception ex)
{
logger.LogError(ex, "An error occurred while starting the Garnet server.");
}
logger.LogInformation("Garnet server started.");
await Task.Delay(Timeout.Infinite, stoppingToken);
}
}
}
}