ningshuxia
2022-08-19 e12b22590df5c6194ca7e2927a7cff6213ac1567
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using Quartz;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace IStation.Server
{
    /// <summary>
    /// 自定义实时任务
    /// </summary>
    public class CustomRealJob : Quartz.IJob
    {
        internal const string Instance = "Instance";
 
        /// <summary>
        /// 
        /// </summary>
        public Task Execute(IJobExecutionContext context)
        {
            return Task.Run(() =>
            {
                try
                {
                    var dataMap = context.MergedJobDataMap;
                    var jobModel = (Model.CustomRealJob)dataMap[Instance];
                    if (jobModel == null)
                        return;
                    var jobExecuter = JobFactory.CreateJob(jobModel.Execution);
                    if (jobExecuter == null)
                    {
                        LogHelper.Error($"自定义实时任务,ID:{jobModel.ID},NO:{jobModel.NO},Name:{jobModel.Name},Execution:{jobModel.Execution},创建任务对象失败!");
                        return;
                    }
                    jobExecuter.Execute();
                }
                catch (Exception ex)
                {
                    LogHelper.Error("自定义实时任务,执行出错", ex);
                    var e = new JobExecutionException(ex);
                    throw e;
                }
 
            });
        }
 
 
    }
}