JobExecutor.cs 456 B

12345678910111213141516
  1. namespace Admin.NET.Core.Service;
  2. /// <summary>
  3. /// 作业执行器
  4. /// </summary>
  5. public class JobExecutor : IJobExecutor
  6. {
  7. public async Task ExecuteAsync(JobExecutingContext context, IJob jobHandler, CancellationToken stoppingToken)
  8. {
  9. // 实现失败重试策略,如失败重试3次
  10. await Retry.InvokeAsync(async () =>
  11. {
  12. await jobHandler.ExecuteAsync(context, stoppingToken);
  13. }, 3, 1000);
  14. }
  15. }