This commit is contained in:
2026-03-27 23:07:05 +01:00
parent 744ce1ae96
commit dae911d3eb
6 changed files with 18 additions and 19 deletions
-1
View File
@@ -43,7 +43,6 @@
<Folder Include="MassTransit\RoutingSlip\Variables\" /> <Folder Include="MassTransit\RoutingSlip\Variables\" />
<Folder Include="MassTransit\Filters\" /> <Folder Include="MassTransit\Filters\" />
<Folder Include="MassTransit\EventBus\" /> <Folder Include="MassTransit\EventBus\" />
<Folder Include="MassTransit\DependencyInjection\" />
</ItemGroup> </ItemGroup>
</Project> </Project>
@@ -1,6 +1,6 @@
namespace Musify.Infrastructure.MassTransit.Consumers namespace Musify.Infrastructure.MassTransit.Consumers
{ {
internal static class MessagingHelper internal static class EndpointHelper
{ {
internal static Uri BuildExecuteActivityUri(string endpointName) => new($"queue:{endpointName}_execute"); internal static Uri BuildExecuteActivityUri(string endpointName) => new($"queue:{endpointName}_execute");
@@ -14,7 +14,7 @@ using Musify.Infrastructure.MassTransit.Activities.Files;
namespace Musify.Infrastructure.MassTransit namespace Musify.Infrastructure.MassTransit
{ {
public static class MessagingDependencyInjection public static class MassTransitDependencyInjection
{ {
public static IServiceCollection AddMassTransitClient(this IServiceCollection serviceDescriptors) public static IServiceCollection AddMassTransitClient(this IServiceCollection serviceDescriptors)
{ {
@@ -183,7 +183,7 @@ namespace Musify.Infrastructure.MassTransit
{ {
busFactoryConfigurator.ReceiveEndpoint($"{endpointName}_execute", endpointConfigurator => busFactoryConfigurator.ReceiveEndpoint($"{endpointName}_execute", endpointConfigurator =>
endpointConfigurator.ExecuteActivityHost<TActivity, TArguments>( endpointConfigurator.ExecuteActivityHost<TActivity, TArguments>(
MessagingHelper.BuildCompensateActivityUri(endpointName), EndpointHelper.BuildCompensateActivityUri(endpointName),
busRegistrationContext) busRegistrationContext)
); );
@@ -19,19 +19,19 @@ namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
routingSlipBuilder.AddVariable(RoutingSlipVariableNames.Workflow.CorrelationId, correlationId ?? Guid.Empty); routingSlipBuilder.AddVariable(RoutingSlipVariableNames.Workflow.CorrelationId, correlationId ?? Guid.Empty);
routingSlipBuilder.AddSubscription( routingSlipBuilder.AddSubscription(
MessagingHelper.BuildConsumerUri(RoutingSlipCleanUpConsumer.QueueName), EndpointHelper.BuildConsumerUri(RoutingSlipCleanUpConsumer.QueueName),
RoutingSlipEvents.Completed | RoutingSlipEvents.Faulted); RoutingSlipEvents.Completed | RoutingSlipEvents.Faulted);
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.GenerateAudioWorkflowPaths, ActivityNames.GenerateAudioWorkflowPaths,
MessagingHelper.BuildExecuteActivityUri(GenerateAudioWorkflowPathsActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(GenerateAudioWorkflowPathsActivity.ExecuteEndpointName),
new GenerateAudioWorkflowPathsArguments( new GenerateAudioWorkflowPathsArguments(
workerConfiguration.Routes.TemporaryFilesDirectory, workerConfiguration.Routes.TemporaryFilesDirectory,
message.SourceKeyName)); message.SourceKeyName));
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.DownloadFile, ActivityNames.DownloadFile,
MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName),
new DownloadFileFromBucketArguments( new DownloadFileFromBucketArguments(
message.SourceBucketName, message.SourceBucketName,
message.SourceKeyName, message.SourceKeyName,
@@ -39,14 +39,14 @@ namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.TranscodeAudio, ActivityNames.TranscodeAudio,
MessagingHelper.BuildExecuteActivityUri(TranscodeDashAudioActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(TranscodeDashAudioActivity.ExecuteEndpointName),
new TranscodeDashAudioArguments( new TranscodeDashAudioArguments(
RoutingSlipVariableNames.Audio.SourceFilePath, RoutingSlipVariableNames.Audio.SourceFilePath,
RoutingSlipVariableNames.Workflow.TemporalDirectory)); RoutingSlipVariableNames.Workflow.TemporalDirectory));
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.TransferFiles, ActivityNames.TransferFiles,
MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucketActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(TransferFilesToBucketActivity.ExecuteEndpointName),
new TransferFilesToBucketArguments( new TransferFilesToBucketArguments(
message.DestinationBucketName, message.DestinationBucketName,
RoutingSlipVariableNames.Audio.TranscodedDirectory, RoutingSlipVariableNames.Audio.TranscodedDirectory,
@@ -54,7 +54,7 @@ namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.UpdateTrackAudio, ActivityNames.UpdateTrackAudio,
MessagingHelper.BuildExecuteActivityUri(UpdateTrackAudioActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(UpdateTrackAudioActivity.ExecuteEndpointName),
new UpdateTrackAudioArguments( new UpdateTrackAudioArguments(
message.TrackId, message.TrackId,
message.DestinationFolderKeyName)); message.DestinationFolderKeyName));
@@ -30,7 +30,7 @@ namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.UpdateTrackPicture, ActivityNames.UpdateTrackPicture,
MessagingHelper.BuildExecuteActivityUri(UpdateTrackPictureActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(UpdateTrackPictureActivity.ExecuteEndpointName),
new UpdateTrackPictureArguments( new UpdateTrackPictureArguments(
message.TrackId, message.TrackId,
message.SourceKeyName, message.SourceKeyName,
@@ -59,7 +59,7 @@ namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.UpdatePlayListPicture, ActivityNames.UpdatePlayListPicture,
MessagingHelper.BuildExecuteActivityUri(UpdatePlayListPictureActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(UpdatePlayListPictureActivity.ExecuteEndpointName),
new UpdatePlayListPictureArguments( new UpdatePlayListPictureArguments(
message.PlayListId, message.PlayListId,
message.SourceKeyName, message.SourceKeyName,
@@ -87,21 +87,21 @@ namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
var routingSlipBuilder = new RoutingSlipBuilder(NewId.NextGuid()); var routingSlipBuilder = new RoutingSlipBuilder(NewId.NextGuid());
routingSlipBuilder.AddSubscription( routingSlipBuilder.AddSubscription(
MessagingHelper.BuildConsumerUri(RoutingSlipCleanUpConsumer.QueueName), EndpointHelper.BuildConsumerUri(RoutingSlipCleanUpConsumer.QueueName),
RoutingSlipEvents.Completed | RoutingSlipEvents.Faulted); RoutingSlipEvents.Completed | RoutingSlipEvents.Faulted);
routingSlipBuilder.AddVariable(RoutingSlipVariableNames.Workflow.CorrelationId, correlationId ?? Guid.Empty); routingSlipBuilder.AddVariable(RoutingSlipVariableNames.Workflow.CorrelationId, correlationId ?? Guid.Empty);
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.GeneratePictureWorkflowPaths, ActivityNames.GeneratePictureWorkflowPaths,
MessagingHelper.BuildExecuteActivityUri(GeneratePictureWorkflowPathsActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(GeneratePictureWorkflowPathsActivity.ExecuteEndpointName),
new GeneratePictureWorkflowPathsArguments( new GeneratePictureWorkflowPathsArguments(
workerConfiguration.Routes.TemporaryFilesDirectory, workerConfiguration.Routes.TemporaryFilesDirectory,
sourceKeyName)); sourceKeyName));
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.DownloadFile, ActivityNames.DownloadFile,
MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName),
new DownloadFileFromBucketArguments( new DownloadFileFromBucketArguments(
bucketName, bucketName,
sourceKeyName, sourceKeyName,
@@ -152,7 +152,7 @@ namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
{ {
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
resizeActivityName, resizeActivityName,
MessagingHelper.BuildExecuteActivityUri(ResizePictureActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(ResizePictureActivity.ExecuteEndpointName),
new ResizePictureLocalArguments( new ResizePictureLocalArguments(
RoutingSlipVariableNames.Picture.OriginalFilePath, RoutingSlipVariableNames.Picture.OriginalFilePath,
destinationFilePathVariableName, destinationFilePathVariableName,
@@ -161,7 +161,7 @@ namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
uploadActivityName, uploadActivityName,
MessagingHelper.BuildExecuteActivityUri(UploadFileToBucketActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(UploadFileToBucketActivity.ExecuteEndpointName),
new UploadFileToBucketArguments( new UploadFileToBucketArguments(
destinationFilePathVariableName, destinationFilePathVariableName,
bucketName, bucketName,
@@ -16,12 +16,12 @@ namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
routingSlipBuilder.AddVariable(RoutingSlipVariableNames.Workflow.CorrelationId, correlationId ?? Guid.Empty); routingSlipBuilder.AddVariable(RoutingSlipVariableNames.Workflow.CorrelationId, correlationId ?? Guid.Empty);
routingSlipBuilder.AddSubscription( routingSlipBuilder.AddSubscription(
MessagingHelper.BuildConsumerUri(RoutingSlipCleanUpConsumer.QueueName), EndpointHelper.BuildConsumerUri(RoutingSlipCleanUpConsumer.QueueName),
RoutingSlipEvents.Completed | RoutingSlipEvents.Faulted); RoutingSlipEvents.Completed | RoutingSlipEvents.Faulted);
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.RemoveFile, ActivityNames.RemoveFile,
MessagingHelper.BuildExecuteActivityUri(RemoveFileFromBucketActivity.ExecuteEndpointName), EndpointHelper.BuildExecuteActivityUri(RemoveFileFromBucketActivity.ExecuteEndpointName),
new RemoveFileFromBucketArguments( new RemoveFileFromBucketArguments(
message.BucketName, message.BucketName,
message.KeyName)); message.KeyName));