consolodated canvas data structure

This commit is contained in:
2024-05-20 19:03:30 -06:00
parent e402ae34cb
commit 6f4fe3663a
17 changed files with 107 additions and 96 deletions

View File

@@ -1,9 +0,0 @@
using Akka.Actor;
using Management.Services.Canvas;
public class CanvasQueue(IActorRef canvasQueueActor)
{
private readonly IActorRef canvasQueueActor = canvasQueueActor;
}

View File

@@ -1,17 +0,0 @@
using Akka.Actor;
using Microsoft.Extensions.DependencyInjection;
public class CanvasQueueActor : ReceiveActor
{
private readonly IServiceProvider serviceProvider;
private readonly IServiceScope scope;
private readonly ILogger<CanvasQueueActor> logger;
public CanvasQueueActor(IServiceProvider serviceProviderArg)
{
serviceProvider = serviceProviderArg;
scope = serviceProvider.CreateScope();
logger = scope.ServiceProvider.GetRequiredService<ILogger<CanvasQueueActor>>();
}
}

View File

@@ -0,0 +1,18 @@
using Akka.Actor;
using Management.Services;
using Microsoft.Extensions.DependencyInjection;
public class CoursePlannerActor: ReceiveActor
{
private readonly IServiceProvider serviceProvider;
private readonly IServiceScope scope;
private readonly MyLogger<CoursePlannerActor> logger;
public CoursePlannerActor(IServiceProvider serviceProviderArg)
{
serviceProvider = serviceProviderArg;
scope = serviceProvider.CreateScope();
logger = scope.ServiceProvider.GetRequiredService<MyLogger<CoursePlannerActor>>();
}
}

View File

@@ -1,15 +1,16 @@
using Akka.Actor;
using LocalModels;
using Management.Services;
using Microsoft.Extensions.DependencyInjection;
public class IStorageActor : ReceiveActor {}
public class LocalStorageActor : IStorageActor
public class LocalStorageActor : ReceiveActor
{
private readonly IServiceProvider serviceProvider;
private readonly IServiceScope scope;
private readonly MyLogger<CanvasQueueActor> logger;
private readonly MyLogger<LocalStorageActor> logger;
private readonly FileStorageService storage;
private DateTime? cacheTime { get; set; } = null;
@@ -20,7 +21,7 @@ public class LocalStorageActor : IStorageActor
{
serviceProvider = serviceProviderArg;
scope = serviceProvider.CreateScope();
logger = scope.ServiceProvider.GetRequiredService<MyLogger<CanvasQueueActor>>();
logger = scope.ServiceProvider.GetRequiredService<MyLogger<LocalStorageActor>>();
storage = scope.ServiceProvider.GetRequiredService<FileStorageService>();
Receive<EmptyDirectoryAsk>(m =>

View File

@@ -18,7 +18,7 @@ public class AkkaService(
private readonly IConfiguration configuration = configuration;
private readonly IServiceProvider serviceProvider = serviceProvider;
private readonly IHostApplicationLifetime applicationLifetime = appLifetime;
public IActorRef? CanvasQueueActor { get; private set; }
public IActorRef? CoursePlannerActor { get; private set; }
public IActorRef? StorageActor { get; private set; }
public Task StartAsync(CancellationToken cancellationToken)
@@ -30,8 +30,8 @@ public class AkkaService(
actorSystem = ActorSystem.Create("canavas-management-actor-system", mergedSystemSetup);
var canvasQueueProps = DependencyResolver.For(actorSystem).Props<CanvasQueueActor>();
CanvasQueueActor = actorSystem.ActorOf(canvasQueueProps, "canvasQueue");
var canvasQueueProps = DependencyResolver.For(actorSystem).Props<CoursePlannerActor>();
CoursePlannerActor = actorSystem.ActorOf(canvasQueueProps, "canvasQueue");
var localStorageProps = DependencyResolver.For(actorSystem).Props<LocalStorageActor>();
StorageActor = actorSystem.ActorOf(localStorageProps, "localStorage");