public void Dispose()
 {
     scheduler?.ShutdownAsync().GetAwaiter().GetResult();
     jobLockProvider.Dispose();
     invalidatedEvent.Dispose();
 }
 protected override async Task StopInternalAsync()
 {
     await scheduler.ShutdownAsync();
 }