From c6494a547258df9180f181dc00d6e4dd1633ec36 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期四, 13 二月 2025 19:03:15 +0800 Subject: [PATCH] 更新数据库配置和出货逻辑 --- Tiger.Business/Services/Base/InterfaceServiceNew.cs | 56 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 47 insertions(+), 9 deletions(-) diff --git a/Tiger.Business/Services/Base/InterfaceServiceNew.cs b/Tiger.Business/Services/Base/InterfaceServiceNew.cs index 5b362a3..527f07a 100644 --- a/Tiger.Business/Services/Base/InterfaceServiceNew.cs +++ b/Tiger.Business/Services/Base/InterfaceServiceNew.cs @@ -418,15 +418,12 @@ var jobs = Biz.Db.Queryable<TSK_JOB>().IncludesAllFirstLayer().ToList(); foreach (var job in jobs) { - //if (job.JobName == "fU9C_MES_GetWo" || job.JobName == "fTest") - { - Type type = Type.GetType($"{job.AssemblyName}.{job.JobType},{job.AssemblyName}", throwOnError: true); - dynamic _type = Activator.CreateInstance(type); - TrigArgs args = JsonConvert.DeserializeObject<TrigArgs>(job.Triggers[0].Args); - Schedule schedule = Schedule(_type, job.JobName, registry); - //鐢熸垚璁″垝 - GenerateSchedule(args, schedule); - } + Type type = Type.GetType($"{job.AssemblyName}.{job.JobType},{job.AssemblyName}", throwOnError: true); + dynamic _type = Activator.CreateInstance(type); + TrigArgs args = JsonConvert.DeserializeObject<TrigArgs>(job.Triggers[0].Args); + Schedule schedule = Schedule(_type, job.JobName, registry); + //鐢熸垚璁″垝 + GenerateSchedule(args, schedule); } } catch (System.Exception ex) @@ -541,6 +538,47 @@ } /// <summary> + /// 绔嬪嵆杩愯 + /// </summary> + /// <param name="jobname"></param> + public ApiAction ImmediateRun<TJob>(TJob newEntity, string jobname) where TJob : class, ITJob + { + ApiAction apiAction = new(); + try + { + if (JobManager.AllSchedules.Any(q => q.Name == jobname)) + { + JobManager.RemoveJob(jobname); + string guid = Guid.NewGuid().ToString("N"); + TSK_JOB job = Biz.Db.Queryable<TSK_JOB>().Where(x => x.JobName == jobname).IncludesAllFirstLayer().First(); + var trigger = job.Triggers[0]; + TrigArgs args = JsonConvert.DeserializeObject<TrigArgs>(job.Triggers[0].Args); + args.runType = RunType.ToRunNow; + JobManager.AddJob<TJob>((s) => GenerateSchedule(args, s.WithName(jobname))); + trigger.Status = TSK_TRIG.Statuss.Running.GetValue(); + trigger.Args = JsonConvert.SerializeObject(args); + + var db = Biz.Db; + //淇濆瓨鍒版暟鎹簱 + var dbTran = db.UseTran(() => + { + db.Updateable(trigger, "system_ImmediateRun_job").UpdateColumns(q => new { q.Status, q.Args, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); + }); + if (!dbTran.IsSuccess) + { + Logger.Scheduler.Fatal(dbTran.ErrorException, $"绔嬪嵆杩愯宸ヤ綔浠诲姟鏃朵繚瀛樼姸鎬佸埌鏁版嵁搴撳紓甯�"); + } + apiAction.LocaleMsg = new($"绔嬪嵆杩愯宸ヤ綔浠诲姟鎴愬姛"); + } + } + catch (System.Exception ex) + { + apiAction.CatchExceptionWithLog(ex); + } + return apiAction; + } + + /// <summary> /// 鍋滄鏈嶅姟 /// </summary> public void Stop() -- Gitblit v1.9.3