|
@@ -15,6 +15,7 @@ using MediatR;
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
using SqlSugar;
|
|
|
using System.Diagnostics;
|
|
|
+using Hotline.EventBus;
|
|
|
using XF.Domain.Authentications;
|
|
|
using XF.Domain.Dependency;
|
|
|
using XF.Domain.Entities;
|
|
@@ -36,6 +37,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
private readonly IMapper _mapper;
|
|
|
private readonly IMediator _mediator;
|
|
|
+ private readonly Publisher _publisher;
|
|
|
private readonly ILogger<WorkflowDomainService> _logger;
|
|
|
private readonly IFileRepository _fileRepository;
|
|
|
private readonly IRepository<User> _userRepository;
|
|
@@ -50,6 +52,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
ISessionContext sessionContext,
|
|
|
IMapper mapper,
|
|
|
IMediator mediator,
|
|
|
+ Publisher publisher,
|
|
|
ILogger<WorkflowDomainService> logger,
|
|
|
IFileRepository fileRepository)
|
|
|
{
|
|
@@ -62,6 +65,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
_sessionContext = sessionContext;
|
|
|
_mapper = mapper;
|
|
|
_mediator = mediator;
|
|
|
+ _publisher = publisher;
|
|
|
_logger = logger;
|
|
|
_fileRepository = fileRepository;
|
|
|
}
|
|
@@ -178,7 +182,9 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
await _workflowRepository.UpdateAsync(workflow, cancellationToken);
|
|
|
|
|
|
//publish
|
|
|
- await _mediator.Publish(new StartWorkflowNotify(workflow, dto, flowAssignInfo, trace), cancellationToken);
|
|
|
+ //await _mediator.Publish(new StartWorkflowNotify(workflow, dto, flowAssignInfo, trace), cancellationToken);
|
|
|
+ await _publisher.PublishAsync(new StartWorkflowNotify(workflow, dto, flowAssignInfo, trace),
|
|
|
+ PublishStrategy.ParallelNoWait, cancellationToken);
|
|
|
}
|
|
|
|
|
|
public async Task<Workflow> GetWorkflowAsync(string workflowId,
|