41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
|
|
using Sphagnum.Client;
|
|
|
|
namespace Sphagnum.DebugClient.Services
|
|
{
|
|
public class TestService : IHostedService
|
|
{
|
|
private readonly CancellationTokenSource _cts;
|
|
private readonly ClientDefault _clientDefault;
|
|
private readonly Task _consumingTask;
|
|
public TestService(ClientDefault clientDefault)
|
|
{
|
|
_cts = new CancellationTokenSource();
|
|
_clientDefault = clientDefault;
|
|
_consumingTask = Consuming();
|
|
}
|
|
|
|
private async Task Consuming()
|
|
{
|
|
while (!_cts.IsCancellationRequested)
|
|
{
|
|
var message = await _clientDefault.Consume(_cts.Token);
|
|
|
|
|
|
await _clientDefault.Ack(message.MessageId);
|
|
}
|
|
}
|
|
|
|
public Task StartAsync(CancellationToken cancellationToken)
|
|
{
|
|
return Task.CompletedTask;
|
|
}
|
|
|
|
public Task StopAsync(CancellationToken cancellationToken)
|
|
{
|
|
_cts.Cancel();
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|
|
}
|