服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-10-26 4a91e38c8839978e10e0ddf0c447f983227f21f7
Tiger.Business/Services/Base/InterfaceServiceNew.cs
@@ -278,24 +278,26 @@
        }
        private void SaveRunningStatus() {
            TSK_TRIG trig = new TSK_TRIG();
            List<TSK_TRIG> listTrig = new List<TSK_TRIG>();
            foreach (var schedule in JobManager.RunningSchedules)
            {
                var job = Biz.Db.Queryable<TSK_JOB>().Where(q => q.JobName == schedule.Name).First();
                if (job != null)
                {
                    TSK_TRIG trig = new TSK_TRIG();
                    trig = Biz.Db.Queryable<TSK_TRIG>().Where(q => q.JobId == job.ID).First();
                    trig.Status = TSK_TRIG.Statuss.Running.GetValue();
                    trig.StartTime = DateTime.Now;
                    listTrig.Add(trig);
                }
            }
            var db = Biz.Db;
            //保存到数据库
            var dbTran = db.UseTran(() =>
            {
                if (trig != null)
                if (listTrig.Count>0)
                {
                    db.Updateable(trig, "system").UpdateColumns(q => new { q.Status, q.UPDATE_USER, q.UPDATE_TIME }).ExecuteCommand();
                    db.Updateable(listTrig, "system").UpdateColumns(q => new { q.Status, q.UPDATE_USER, q.UPDATE_TIME }).ExecuteCommand();
                }
            });
            if (!dbTran.IsSuccess)
@@ -387,12 +389,15 @@
                var jobs = Biz.Db.Queryable<TSK_JOB>().IncludesAllFirstLayer().ToList();
                foreach (var job in jobs)
                {
                    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);
                    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);
                    }
                }
            }
            catch (System.Exception ex)