Change events args

This commit is contained in:
2025-11-05 18:17:19 +09:00
parent 8fd7d4a571
commit e58221c430
11 changed files with 96 additions and 65 deletions

View File

@ -5,12 +5,14 @@ namespace Hcs.WebApp.BackgroundServices
{
public class ResultWaitState
{
public delegate void OperationEnded(int operationId, int campaignId, DateTime endedAt, string failureReason);
private readonly ConcurrentQueue<Operation> operationsInQueue = new();
private readonly HashSet<Operation> operationsInProcess = [];
public bool Ready { get; set; }
public event Action<Operation> OnOperationEnded;
public event OperationEnded OnOperationEnded;
public void EnqueueOperation(Operation operation)
{
@ -37,11 +39,11 @@ namespace Hcs.WebApp.BackgroundServices
return operationsInQueue.Any(x => x.CampaignId == campaignId) || operationsInProcess.Any(x => x.CampaignId == campaignId);
}
public void InvokeOnOperationEnded(Operation operation)
public void InvokeOnOperationEnded(int operationId, int campaignId, DateTime endedAt, string failureReason)
{
try
{
OnOperationEnded?.Invoke(operation);
OnOperationEnded?.Invoke(operationId, campaignId, endedAt, failureReason);
}
catch { }
}