hwh
2024-06-25 dedeb77685c258bc7851c7c4da40eb1315127cb8
Wms/Utility/Job/SchedulerCenter.cs
@@ -143,6 +143,13 @@
                httpDir.Add(Constant.REQUESTPARAMETERS, entity.RequestParameters);
                httpDir.Add(Constant.REQUESTTYPE, ((int)entity.RequestType).ToString());
            }
            else if (entity.JobType == JobTypeEnum.BuiltIn)
            {
                jobConfigurator = JobBuilder.Create<InternalMethodJob>();
                httpDir.Add(Constant.CLASSNAME, entity.ClassName);
                httpDir.Add(Constant.METHODNAME, entity.MethodName);
                httpDir.Add(Constant.METHODPARAMETERS, entity.MethodParameters);
            }
            // 定义这个工作,并将其绑定到我们的IJob实现类                
            IJobDetail job = jobConfigurator
@@ -271,6 +278,9 @@
                    entity.Headers = jobDetail.JobDataMap.GetString(Constant.HEADERS);
                    break;
                case JobTypeEnum.BuiltIn:
                    entity.ClassName = jobDetail.JobDataMap.GetString(Constant.CLASSNAME);
                    entity.MethodName = jobDetail.JobDataMap.GetString(Constant.METHODNAME);
                    entity.MethodParameters = jobDetail.JobDataMap.GetString(Constant.METHODPARAMETERS);
                    break;
                case JobTypeEnum.Hotreload:
                    break;
@@ -350,12 +360,38 @@
                        if (jobType == JobTypeEnum.Url)
                            triggerAddress = jobDetail.JobDataMap.GetString(Constant.REQUESTURL);
                        else if (jobType == JobTypeEnum.BuiltIn)
                            triggerAddress = jobDetail.JobDataMap.GetString(Constant.BuiltIn);
                            triggerAddress = jobDetail.JobDataMap.GetString(Constant.CLASSNAME);
                        var lastErrMsg = string.Empty;
                        try
                        {
                            lastErrMsg = jobDetail.JobDataMap.GetString(Constant.EXCEPTION);
                        }
                        catch (Exception)
                        {
                        }
                        var requestType = string.Empty;
                        try
                        {
                            requestType = jobDetail.JobDataMap.GetString(Constant.REQUESTTYPE);
                        }
                        catch (Exception)
                        {
                        }
                        long runNumber = 0;
                        try
                        {
                            runNumber = jobDetail.JobDataMap.GetLong(Constant.RUNNUMBER);
                        }
                        catch (Exception)
                        {
                        }
                        jobInfo.JobInfoList.Add(new JobInfo()
                        {
                            Name = jobKey.Name,
                            LastErrMsg = jobDetail.JobDataMap.GetString(Constant.EXCEPTION),
                            LastErrMsg = lastErrMsg,
                            TriggerAddress = triggerAddress,
                            TriggerState = await scheduler.GetTriggerState(triggers.Key),
                            PreviousFireTime = triggers.GetPreviousFireTimeUtc()?.LocalDateTime,
@@ -364,8 +400,8 @@
                            Interval = interval,
                            EndTime = triggers.EndTimeUtc?.LocalDateTime,
                            Description = jobDetail.Description,
                            RequestType = jobDetail.JobDataMap.GetString(Constant.REQUESTTYPE),
                            RunNumber = jobDetail.JobDataMap.GetLong(Constant.RUNNUMBER),
                            RequestType = requestType,
                            RunNumber = runNumber,
                            JobType = (long)jobType
                            //(triggers as SimpleTriggerImpl)?.TimesTriggered
                            //CronTriggerImpl 中没有 TimesTriggered 所以自己RUNNUMBER记录