Files
UnrealEngine/Engine/Source/Programs/Horde/HordeServer.Shared/Utilities/RedisExtensions.cs
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

30 lines
731 B
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using StackExchange.Redis;
namespace HordeServer.Utilities;
/// <summary>
/// Extensions for Redis classes
/// </summary>
public static class RedisExtensions
{
/// <summary>
/// Await given tasks and swallow any task cancellation exceptions.
/// Useful to do after (failing) transaction to ensure no trailing tasks are left unawaited
/// </summary>
/// <param name="transaction"></param>
/// <param name="tasks">Tasks to await</param>
public static async Task WaitAndIgnoreCancellationsAsync(this ITransaction transaction, params Task[] tasks)
{
_ = transaction;
try
{
await Task.WhenAll(tasks);
}
catch (TaskCanceledException)
{
/* Ignore */
}
}
}