Delete temporal folders and some changes

This commit is contained in:
2026-03-24 20:52:44 +01:00
parent 0355bd22a6
commit 10a66c70c8
12 changed files with 87 additions and 14 deletions
@@ -5,5 +5,7 @@ namespace Musify.Infrastructure.Messaging.Consumers
internal static Uri BuildExecuteActivityUri(string endpointName) => new($"queue:{endpointName}_execute");
internal static Uri BuildCompensateActivityUri(string endpointName) => new($"queue:{endpointName}_compensate");
internal static Uri BuildConsumerUri(string endpointName) => new($"queue:{endpointName}");
}
}
@@ -6,7 +6,7 @@ namespace Musify.Infrastructure.Messaging.Consumers
{
public class RemoveFileConsumer(
IBus bus,
RemoveFileRoutingSlipBuilder routingSlipBuilder)
RemoveFileFromBucketRoutingSlipBuilder routingSlipBuilder)
: IConsumer<RemoveFileEvent>
{
public const string QueueName = "Remove-File";
@@ -0,0 +1,49 @@
using MassTransit;
using MassTransit.Courier.Contracts;
using Microsoft.Extensions.Logging;
using Musify.Infrastructure.Messaging;
namespace Musify.Infrastructure.MassTransit.Consumers
{
public class RoutingSlipCleanUpConsumer(
ILogger<RoutingSlipCleanUpConsumer> logger) :
IConsumer<RoutingSlipCompleted>,
IConsumer<RoutingSlipFaulted>
{
public const string QueueName = "routing-slip-events";
public Task Consume(ConsumeContext<RoutingSlipCompleted> consumeContext)
=> DeleteFolder(consumeContext.Message.Variables);
public Task Consume(ConsumeContext<RoutingSlipFaulted> consumeContext)
=> DeleteFolder(consumeContext.Message.Variables);
Task DeleteFolder(IDictionary<string, object> variables)
{
if (!variables.TryGetValue(RoutingSlipVariableNames.Workflow.TemporalDirectory, out var pathObject))
return Task.CompletedTask;
var pathString = pathObject.ToString();
if (string.IsNullOrEmpty(pathString))
return Task.CompletedTask;
try
{
Directory.Delete(pathString, recursive: true);
logger.LogInformation("Deleted temporal directory at path {Path}", pathString);
}
catch (DirectoryNotFoundException directoryNotFoundException)
{
logger.LogWarning(directoryNotFoundException, "Temporal directory at path {Path} was not found for deletion", pathString);
}
catch (Exception exception)
{
logger.LogError(exception, "Failed to delete temporal directory at path {Path}", pathString);
throw;
}
return Task.CompletedTask;
}
}
}