Files
StoreWeb/Plugins/CloudProduct/Services/CloudProductSearchStartup.cs
T

23 lines
800 B
C#

using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
namespace Store.Modules.CloudProduct.Services;
/// <summary>查询搜索服务状态;网络不可用时记录错误,不阻止 HTTP 服务启动。</summary>
internal sealed class CloudProductSearchStartup(
IOpenSearchService search, ILogger<CloudProductSearchStartup> logger) : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
try
{
await search.GetStatusAsync().WaitAsync(stoppingToken);
}
catch (OperationCanceledException) when (stoppingToken.IsCancellationRequested) { }
catch (Exception ex)
{
logger.LogWarning(ex, "CloudProduct 搜索服务启动检查失败。");
}
}
}