Example #1
0
        /// <summary>
        /// 从job池中移除某个job,同时卸载该job所在的AppDomain
        /// </summary>
        /// <param name="jobInfo"></param>
        /// <returns></returns>
        public bool Remove(JobInfo jobInfo)
        {
            lock (Locker)
            {
                TriggerKey triKey  = null;
                ITrigger   trigger = GetTrigger(jobInfo, out triKey);
                if (trigger == null)
                {
                    return(true);
                }
                Scheduler.PauseTrigger(triKey);
                Scheduler.UnscheduleJob(triKey);
                Scheduler.DeleteJob(GetJobKey(jobInfo));

                if (JobPool.ContainsKey(jobInfo.Id))
                {
                    JobRuntimeInfo jobRuntimeInfo = null;
                    JobPool.TryRemove(jobInfo.Id, out jobRuntimeInfo);
                    AppDomainLoader.UnLoad(jobRuntimeInfo.AppDomain);
                }
                //TODO:记录日志
                LogWrite.CreateLog().WritLog("将作业移除作业池");
                return(true);
            }
        }
Example #2
0
 /// <summary>
 /// 根据主键查询
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public static JobInfo GetJobInfo(int id)
 {
     try
     {
         using (SqlSugarClient db = new SqlSugarClient(Config))
         {
             return(db.Queryable <JobInfo>().Where(w => w.Id == id).Single());
         }
     }
     catch (Exception ex)
     {
         LogWrite.CreateLog().DuggerLog("查询job失败,id=" + id + ex.ToString());
         return(null);
     }
 }
Example #3
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="jobInfo"></param>
        /// <returns></returns>
        public static int UpdateJobInfo(JobInfo jobInfo)
        {
            int res = 0;

            try
            {
                using (SqlSugarClient db = new SqlSugarClient(Config))
                {
                    res = db.Updateable(jobInfo).ExecuteCommand();
                }
            }
            catch (Exception ex)
            {
                LogWrite.CreateLog().DuggerLog(ex.ToString());
            }
            return(res);
        }
Example #4
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="jobInfo"></param>
        /// <returns></returns>
        public static int DeleteJobInfo(JobInfo jobInfo)
        {
            int res = 0;

            try
            {
                using (SqlSugarClient db = new SqlSugarClient(Config))
                {
                    res = db.Updateable(jobInfo).UpdateColumns(s => new { s.IsDeleted, s.Id })
                          .WhereColumns(w => new { w.Id }).ExecuteCommand();
                }
            }
            catch (Exception ex)
            {
                LogWrite.CreateLog().DuggerLog(ex.ToString());
            }
            return(res);
        }
Example #5
0
        /// <summary>
        /// 添加任务
        /// </summary>
        /// <param name="jobInfo"></param>
        /// <returns></returns>
        public static int AddJobInfo(JobInfo jobInfo)
        {
            var res = 0;

            try
            {
                jobInfo.CreateTime = DateTime.Now;
                jobInfo.StartTime  = DateTime.Now;
                using (SqlSugarClient db = new SqlSugarClient(Config))
                {
                    res = db.Insertable(jobInfo).ExecuteCommand();
                }
            }
            catch (Exception ex)
            {
                LogWrite.CreateLog().DuggerLog(ex.ToString());
            }
            return(res);
        }
Example #6
0
 protected override void Execute()
 {
     LogWrite.CreateLog().DuggerLog("这个是测试TestJob2");
 }
Example #7
0
 public Result Run(JobInfo jobInfo)
 {
     LogWrite.CreateLog().WritLog("启动作业:" + $"id:{jobInfo.Id},{jobInfo.SchedName}:{jobInfo.JobGroup}.{jobInfo.JobName}");
     return(Execute(() => SchedulerManager.Singleton.CreateJob(jobInfo)));
 }
Example #8
0
 protected override void Execute()
 {
     LogWrite.CreateLog().WritLog("这个是测试TestJob1");
 }