From 1f123f09876c7b0c04a9164ab4e5a6331e72fcfb Mon Sep 17 00:00:00 2001 From: Neil South Date: Mon, 26 Feb 2024 16:33:13 +0000 Subject: [PATCH] fix for review cancelation Signed-off-by: Neil South --- .../AideClinicalReviewPlugin.cs | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/TaskManager/Plug-ins/AideClinicalReview/AideClinicalReviewPlugin.cs b/src/TaskManager/Plug-ins/AideClinicalReview/AideClinicalReviewPlugin.cs index 2d1c489ad..820e2c166 100644 --- a/src/TaskManager/Plug-ins/AideClinicalReview/AideClinicalReviewPlugin.cs +++ b/src/TaskManager/Plug-ins/AideClinicalReview/AideClinicalReviewPlugin.cs @@ -14,7 +14,6 @@ * limitations under the License. */ -using Ardalis.GuardClauses; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; @@ -321,6 +320,26 @@ public async ValueTask DisposeAsync() GC.SuppressFinalize(this); } - public override Task HandleTimeout(string identity) => Task.CompletedTask; // not implemented + public override Task HandleTimeout(string identity) + { + var message = GenerateCancelationMessage(identity); + + var queue = _queueName ?? _options.Value.Messaging.Topics.AideClinicalReviewCancelation; + _logger.SendClinicalReviewRequestMessage(queue, _workflowName ?? string.Empty); + return _messageBrokerPublisherService.Publish(queue, message.ToMessage()); + } + + private JsonMessage GenerateCancelationMessage(string identity) + { + return new JsonMessage(new TaskCancellationEvent + { + ExecutionId = identity, + WorkflowInstanceId = Event.WorkflowInstanceId, + TaskId = Event.TaskId, + Reason = FailureReason.TimedOut, + Identity = identity, + Message = $"{FailureReason.TimedOut} {DateTime.UtcNow}" + }, TaskManagerApplicationId, Event.CorrelationId); + } } }