QuartzJobFactory.cs 765 B

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using Microsoft.Extensions.DependencyInjection;
  3. using Microsoft.AspNetCore.Hosting;
  4. using Microsoft.Extensions.Hosting;
  5. using Microsoft.Extensions.Logging;
  6. using Quartz;
  7. using Quartz.Spi;
  8. using FMSAdmin.Data;
  9. using System.Linq;
  10. using FMSAdmin.Helpers;
  11. public class QuartzJobFactory : IJobFactory {
  12. private readonly IServiceProvider _provider;
  13. public QuartzJobFactory(IServiceProvider provider) {
  14. _provider = provider;
  15. }
  16. public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler) {
  17. return _provider.GetRequiredService<QuartzJobRunner>();
  18. }
  19. public void ReturnJob(IJob job) {
  20. /*
  21. if (job is IDisposable disposableJob) {
  22. disposableJob.Dispose();
  23. }
  24. */
  25. }
  26. }