Skip to content

Commit 8901abf

Browse files
authored
Merge pull request danielgerlag#608 from andrx/master
danielgerlag#607 switched to ConcurrentHashSet.
2 parents 3e7e70a + 3e70f58 commit 8901abf

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/WorkflowCore/Services/BackgroundTasks/QueueConsumer.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Linq;
44
using System.Threading;
55
using System.Threading.Tasks;
6+
using ConcurrentCollections;
67
using Microsoft.Extensions.Logging;
78
using WorkflowCore.Interface;
89
using WorkflowCore.Models;
@@ -54,7 +55,7 @@ private async void Execute()
5455
{
5556
var cancelToken = _cancellationTokenSource.Token;
5657
var activeTasks = new Dictionary<string, Task>();
57-
var secondPasses = new HashSet<string>();
58+
var secondPasses = new ConcurrentHashSet<string>();
5859

5960
while (!cancelToken.IsCancellationRequested)
6061
{
@@ -83,7 +84,7 @@ private async void Execute()
8384
continue;
8485
}
8586

86-
secondPasses.Remove(item);
87+
secondPasses.TryRemove(item);
8788

8889
var task = new Task(async (object data) =>
8990
{
@@ -92,7 +93,7 @@ private async void Execute()
9293
await ExecuteItem((string)data);
9394
while (EnableSecondPasses && secondPasses.Contains(item))
9495
{
95-
secondPasses.Remove(item);
96+
secondPasses.TryRemove(item);
9697
await ExecuteItem((string)data);
9798
}
9899
}

src/WorkflowCore/WorkflowCore.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
</PropertyGroup>
2525

2626
<ItemGroup>
27+
<PackageReference Include="ConcurrentHashSet" Version="1.1.0" />
2728
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="2.2.0" />
2829
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="2.2.0" />
2930
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.2.0" />

0 commit comments

Comments
 (0)