private async Task HandleTestWorkflowExecutionFinished(WorkflowNotification notification, CancellationToken cancellationToken) { var isTest = Convert.ToBoolean(notification.WorkflowExecutionContext.WorkflowInstance.GetMetadata("isTest")); if (!isTest) { return; } var workflowInstanceId = notification.WorkflowExecutionContext.WorkflowInstance.Id; await _mqttTestClientManager.DisposeTestWorkersAsync(workflowInstanceId); }
private Task HandleTesttWorkflowExecutionFinished(WorkflowNotification notification, CancellationToken cancellationToken) { var isTest = Convert.ToBoolean(notification.WorkflowExecutionContext.WorkflowInstance.GetMetadata("isTest")); if (!isTest) { return(Task.CompletedTask); } var workflowInstanceId = notification.WorkflowExecutionContext.WorkflowInstance.Id; _rabbitMqTestQueueManager.DisposeTestWorkersAsync(workflowInstanceId); return(Task.CompletedTask); }
private async Task SendInfoWorkflowNotificationAsync(TCommand command, string wfNotificationDescription) { WorkflowNotification infoWorkflowNotification = BuildWorkflowNotification(wfNotificationDescription); if (infoWorkflowNotification != null) { IEventWorkflowNotificationInfo workflowInfoEvent = new EventWorkflowNotificationInfo(Guid.NewGuid(), command.CorrelationId, command.TenantName, command.TenantId, command.TenantAOOId, command.Identity, infoWorkflowNotification, null); await _webApiClient.PushEventAsync(workflowInfoEvent); } }
private async Task SendErrorWorkflowNotificationAsync(TCommand command, string stackTrace, string wfNotificationDescription) { WorkflowNotification errorWorkflowNotification = BuildWorkflowNotification(wfNotificationDescription, stackTrace); if (errorWorkflowNotification != null) { IEventWorkflowNotificationError workflowErrorEvent = new EventWorkflowNotificationError(Guid.NewGuid(), command.CorrelationId, command.TenantName, command.TenantId, command.TenantAOOId, command.Identity, errorWorkflowNotification, null); await _webApiClient.PushEventAsync(workflowErrorEvent); } }
private WorkflowNotification BuildWorkflowNotification(string wfNotificationDescription, string stackTrace = null) { WorkflowNotification workflowNotification = null; if (_listenerExecution.IdWorkflowActivity.HasValue) { Guid idWorkflowActivity = _listenerExecution.IdWorkflowActivity.Value; workflowNotification = new WorkflowNotification { ModuleName = _listenerExecution.GetType().FullName, LogDate = DateTimeOffset.UtcNow, StackTrace = stackTrace, UniqueId = Guid.NewGuid(), IdWorkflowActivity = idWorkflowActivity, WorkflowName = _listenerExecution.Properties[CustomPropertyName.WORKFLOW_NAME] as string, Description = wfNotificationDescription }; } return(workflowNotification); }
public void Notify(WorkflowNotification workflowNotification) { switch (workflowNotification.WorkflowNotificationType) { case WorkflowNotificationType.Email: break; case WorkflowNotificationType.HttpPost: break; case WorkflowNotificationType.HttpGet: break; case WorkflowNotificationType.Database: break; case WorkflowNotificationType.Log: break; default: throw new ArgumentOutOfRangeException(); } }