using Iceshrimp.Backend.Core.Services; namespace Iceshrimp.Backend.Core.Queues; public class DeliverQueue { public static JobQueue Create() { return new JobQueue("deliver", DeliverQueueProcessor, 4); } private static async Task DeliverQueueProcessor(DeliverJob job, IServiceProvider scope, CancellationToken token) { var logger = scope.GetRequiredService>(); var httpClient = scope.GetRequiredService(); logger.LogDebug("Delivering activity to: {uri}", job.Request.RequestUri!.AbsoluteUri); await httpClient.SendAsync(job.Request, token); } } public class DeliverJob(HttpRequestMessage request) : Job { public readonly HttpRequestMessage Request = request; }