Files
TriliumMind/Workers/TriliumWorker.cs

34 lines
1.1 KiB
C#
Raw Normal View History

2025-12-11 10:20:10 +09:00
using Microsoft.Extensions.Options;
using Serilog;
using System.Threading.Channels;
using TriliumMind.Models;
using TriliumMind.Services;
namespace TriliumMind.Workers;
public class TriliumWorker : BackgroundService
{
private readonly Serilog.ILogger _log;
private readonly AppConfigs _config;
private readonly TriliumService _triliumService;
private readonly Channel<Issue> _issueChannel;
public TriliumWorker(AppConfigs configs, TriliumService triliumService, Channel<Issue> issueChannel)
{
_log = Log.ForContext<TriliumWorker>();
_config = configs;
_triliumService = triliumService;
_issueChannel = issueChannel;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
await foreach(var item in _issueChannel.Reader.ReadAllAsync(stoppingToken))
{
_log.Information("Processing issue {issue_key} - {issue_summary}", item.key, item.fields.summary);
// Add your processing logic here
//await _triliumService.FettchPageContentsAsync(item);
}
}
}