From 963016caf4020492ef88a913b6a73fada1fdbda1 Mon Sep 17 00:00:00 2001 From: Chris Bertrand Date: Tue, 11 Jul 2023 14:19:51 +0100 Subject: [PATCH 1/3] Remove the actual event record if we're tidying up after ourselves. Remove the actual event record if we're tidying up after ourselves. --- .../Services/RedisPersistenceProvider.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs b/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs index 6bf8df875..b3cbf7f0c 100644 --- a/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs +++ b/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs @@ -225,6 +225,9 @@ public async Task MarkEventProcessed(string id, CancellationToken cancellationTo var str = JsonConvert.SerializeObject(evt, _serializerSettings); await _redis.HashSetAsync($"{_prefix}.{EVENT_SET}", evt.Id, str); await _redis.SortedSetRemoveAsync($"{_prefix}.{EVENT_SET}.{RUNNABLE_INDEX}", id); + if (_removeComplete){ + await _redis.SortedSetRemoveAsync($"{_prefix}.{EVENT_SET}", id); + } } public async Task MarkEventUnprocessed(string id, CancellationToken cancellationToken = default) From c418c2376ffdf6b556483620a52ebdd07bed40c6 Mon Sep 17 00:00:00 2001 From: Chris Bertrand Date: Tue, 11 Jul 2023 14:25:52 +0100 Subject: [PATCH 2/3] Adding in logic to CreateEvent Method Adding in logic to CreateEvent Method --- .../Services/RedisPersistenceProvider.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs b/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs index b3cbf7f0c..05cd5bde3 100644 --- a/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs +++ b/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs @@ -182,8 +182,13 @@ public async Task CreateEvent(Event newEvent, CancellationToken _ = defa await _redis.HashSetAsync($"{_prefix}.{EVENT_SET}", newEvent.Id, str); await _redis.SortedSetAddAsync($"{_prefix}.{EVENT_SET}.{EVENTSLUG_INDEX}.{newEvent.EventName}-{newEvent.EventKey}", newEvent.Id, newEvent.EventTime.Ticks); - if (newEvent.IsProcessed) + if (newEvent.IsProcessed){ await _redis.SortedSetRemoveAsync($"{_prefix}.{EVENT_SET}.{RUNNABLE_INDEX}", newEvent.Id); + + if (_removeComplete){ + await _redis.SortedSetRemoveAsync($"{_prefix}.{EVENT_SET}", id); + } + } else await _redis.SortedSetAddAsync($"{_prefix}.{EVENT_SET}.{RUNNABLE_INDEX}", newEvent.Id, newEvent.EventTime.Ticks); From 221470f8b518db1d4afaca43bf5021277ea6850f Mon Sep 17 00:00:00 2001 From: Chris Bertrand Date: Tue, 11 Jul 2023 14:32:35 +0100 Subject: [PATCH 3/3] Use correct Id --- .../Services/RedisPersistenceProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs b/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs index 05cd5bde3..b5702a571 100644 --- a/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs +++ b/src/providers/WorkflowCore.Providers.Redis/Services/RedisPersistenceProvider.cs @@ -186,7 +186,7 @@ public async Task CreateEvent(Event newEvent, CancellationToken _ = defa await _redis.SortedSetRemoveAsync($"{_prefix}.{EVENT_SET}.{RUNNABLE_INDEX}", newEvent.Id); if (_removeComplete){ - await _redis.SortedSetRemoveAsync($"{_prefix}.{EVENT_SET}", id); + await _redis.SortedSetRemoveAsync($"{_prefix}.{EVENT_SET}", newEvent.Id); } } else