/// <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); } }
/// <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); } }
/// <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); }
/// <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); }
/// <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); }
protected override void Execute() { LogWrite.CreateLog().DuggerLog("这个是测试TestJob2"); }
public Result Run(JobInfo jobInfo) { LogWrite.CreateLog().WritLog("启动作业:" + $"id:{jobInfo.Id},{jobInfo.SchedName}:{jobInfo.JobGroup}.{jobInfo.JobName}"); return(Execute(() => SchedulerManager.Singleton.CreateJob(jobInfo))); }
protected override void Execute() { LogWrite.CreateLog().WritLog("这个是测试TestJob1"); }