mirror of
https://github.com/knightcrawler-stremio/knightcrawler.git
synced 2024-12-20 03:29:51 +00:00
Still need to implement queue size limit Also fixes env var consistency between addon and consumer
22 lines
861 B
C#
22 lines
861 B
C#
namespace Producer.Services;
|
|
|
|
public class TorrentPublisher(ISendEndpointProvider sendEndpointProvider, RabbitMqConfiguration configuration) : IMessagePublisher
|
|
{
|
|
public async Task PublishAsync(IEnumerable<Torrent> torrents, CancellationToken cancellationToken = default)
|
|
{
|
|
var queueAddress = ConstructQueue();
|
|
var sendEndpoint = await sendEndpointProvider.GetSendEndpoint(new(queueAddress));
|
|
await sendEndpoint.SendBatch(torrents, cancellationToken: cancellationToken);
|
|
}
|
|
|
|
private string ConstructQueue()
|
|
{
|
|
var queueBuilder = new StringBuilder();
|
|
queueBuilder.Append("queue:");
|
|
queueBuilder.Append(configuration.QueueName);
|
|
queueBuilder.Append("?durable=");
|
|
queueBuilder.Append(configuration.Durable ? "true" : "false");
|
|
|
|
return queueBuilder.ToString();
|
|
}
|
|
} |