backend/ExamKing.Application/Quartzs/ExamQuartz/ExamQuartzHostedService.cs

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Threading;
using System.Threading.Tasks;
using ExamKing.Application.Services;
using Furion;
using Microsoft.Extensions.Hosting;
using Quartz;
using Quartz.Spi;

namespace ExamKing.Student.Quartz
{
    /// <summary>
    /// 考试调度服务
    /// </summary>
    public class ExamQuartzHostedService : IHostedService
    {
        //调度器工厂
        private readonly ISchedulerFactory _schedulerFactory;
        private readonly IJobFactory _jobFactory;
        
        /// <summary>
        /// Scheduler
        /// </summary>
        public IScheduler Scheduler { get; set; }
        
        /// <summary>
        /// 依赖注入
        /// </summary>
        public ExamQuartzHostedService(
            ISchedulerFactory schedulerFactory,
            IJobFactory jobFactory)
        {
            //注入调度器工厂
            _schedulerFactory = schedulerFactory;
            _jobFactory = jobFactory;
        }
        
        /// <summary>
        /// Start
        /// </summary>
        /// <returns></returns>
        public async Task StartAsync(CancellationToken cancellationToken)
        {
            await StartExamJobs();
        }

        /// <summary>
        /// Stop
        /// </summary>
        /// <returns></returns>
        public async Task StopAsync(CancellationToken cancellationToken)
        {
            if (Scheduler != null) await Scheduler?.Shutdown();
        }

        /// <summary>
        /// 启动全部考试任务
        /// </summary>
        private async Task StartExamJobs()
        {
            // 从工厂获取调度器实例
后面还有 11 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。