backend/ExamKing.Application/Quartzs/ExamQuartz/Jobs/ExamJob.cs

(完整代码) 1KB

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

namespace ExamKing.Application.Quartz
{
    /// <summary>
    /// 考试作业
    /// </summary>
    [DisallowConcurrentExecution]
    public class ExamJob : IJob
    {
        /// <summary>
        /// 依赖服务
        /// </summary>
        private readonly ILogger<ExamJob> _logger;
        
        ///  <summary>
        /// 依赖注入
        ///  </summary>
        ///  <param name="logger"></param>
        public ExamJob(
            ILogger<ExamJob> logger)
        {
            _logger = logger;
        }

        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public async Task Execute(IJobExecutionContext context)
        {
            JobDataMap dataMap = context.JobDetail.JobDataMap;
            int examId = dataMap.GetIntValue("ExamId");
            
            _logger.LogInformation($"ExamId=>{examId} is running");
            
            var examJobService = App.GetService<IExamJobService>();
            // 执行考试任务
            await examJobService.ExecuteExamJob(examId);

        }
    }
}

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

AI 解读 AI

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

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