private void DelayFunction(int timeout, int delay) { TaskTimeout.CompletesIn(timeout, () => { Thread.Sleep(delay); }); }
public void Timeout(TaskTimeout state) { var taskId = Data.TaskId; var userId = Data.HandledBy.Value; Data.Abort(Data.HandledBy.Value); messageBus.Publish <TaskWasAborted>(m => { m.TaskId = taskId; m.AbortedBy = userId; }); }
public virtual Task StartAsync(CancellationToken stoppingToken) { ValidateTimeout(); Logger.LogInformation($"{GetType().Name} running."); Cts = new CancellationTokenSource(); Cts.CancelAfter(TaskTimeout); Logger.LogInformation($"{GetType().Name} timeout is configured to: {TaskTimeout.ToString()}"); Timer = new Timer(DoWork, null, TimeSpan.Zero, TaskPeriod); return(Task.CompletedTask); }