public Task ExecuteAsync(DateTime dateTime, CancellationToken cancellationToken) { foreach (var cronSchedule in _cronSchedules) { if (!cronSchedule.IsTime(dateTime)) { continue; } JobExecuting?.Invoke(this, Name); return(Task.Run(_func, cancellationToken).ContinueWith(x => JobExecuted?.Invoke(this, Name))); } return(Task.CompletedTask); }
public Task RunAsync(Func <Task> func, CancellationToken cancellationToken, string name) { JobExecuting?.Invoke(this, name); return(Task.Run(func, cancellationToken).ContinueWith(x => JobExecuted?.Invoke(this, name))); }
private void Job_JobExecuting(object sender, string name) { JobExecuting?.Invoke(sender, name); }