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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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();
            }
        }