Initial commit.
This commit is contained in:
33
Workers/TriliumWorker.cs
Normal file
33
Workers/TriliumWorker.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user