Restructure solution layout by module

This commit is contained in:
master
2025-10-28 15:10:40 +02:00
parent 95daa159c4
commit d870da18ce
4103 changed files with 192899 additions and 187024 deletions

View File

@@ -0,0 +1,64 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using StackExchange.Redis;
using StellaOps.Scheduler.Models;
namespace StellaOps.Scheduler.Queue.Redis;
internal sealed class RedisSchedulerPlannerQueue
: RedisSchedulerQueueBase<PlannerQueueMessage>, ISchedulerPlannerQueue
{
public RedisSchedulerPlannerQueue(
SchedulerQueueOptions queueOptions,
SchedulerRedisQueueOptions redisOptions,
ILogger<RedisSchedulerPlannerQueue> logger,
TimeProvider timeProvider,
Func<ConfigurationOptions, Task<IConnectionMultiplexer>>? connectionFactory = null)
: base(
queueOptions,
redisOptions,
redisOptions.Planner,
PlannerPayload.Instance,
logger,
timeProvider,
connectionFactory)
{
}
private sealed class PlannerPayload : IRedisSchedulerQueuePayload<PlannerQueueMessage>
{
public static PlannerPayload Instance { get; } = new();
public string QueueName => "planner";
public string GetIdempotencyKey(PlannerQueueMessage message)
=> message.IdempotencyKey;
public string Serialize(PlannerQueueMessage message)
=> CanonicalJsonSerializer.Serialize(message);
public PlannerQueueMessage Deserialize(string payload)
=> CanonicalJsonSerializer.Deserialize<PlannerQueueMessage>(payload);
public string GetRunId(PlannerQueueMessage message)
=> message.Run.Id;
public string GetTenantId(PlannerQueueMessage message)
=> message.Run.TenantId;
public string? GetScheduleId(PlannerQueueMessage message)
=> message.ScheduleId;
public string? GetSegmentId(PlannerQueueMessage message)
=> null;
public string? GetCorrelationId(PlannerQueueMessage message)
=> message.CorrelationId;
public IReadOnlyDictionary<string, string>? GetAttributes(PlannerQueueMessage message)
=> null;
}
}