/// <summary> /// 停止任务 /// </summary> /// <param name="id">任务编号</param> /// <returns></returns> public IActionResult StopScheduleJob(int id) { var db = DataHelper.GetInstance(); var schedule = db.Queryable <Schedule>().InSingle(id); // 运行任务调度 var result = SchedulerCenter.Instance.StopScheduleJob <ScheduleManage>(schedule.JobGroup, schedule.JobName, true); if (result.Code == 1000) { db.Updateable <Schedule>() .UpdateColumns(it => new Schedule() { JobStatus = 0, UpdateTime = DateTime.Now }) .Where(it => it.JobId == id).ExecuteCommand(); OperatelogService.AddLog(new OperateLog { TableName = "Schedule", Describe = "停止任务" + schedule.JobName + "成功", CreateTime = DateTime.Now, UpdateTime = DateTime.Now }); } return(base.Json(new BaseResult { Code = result.Code == 1000 ? MsgCode.Success : MsgCode.IsFail, Msg = result.Msg })); }
/// <summary> /// 执行任务 /// </summary> /// <param name="Id"></param> /// <returns></returns> public IActionResult ExecuteJob(int id) { var db = DataHelper.GetInstance(); var schedule = db.Queryable <Schedule>().InSingle(id); var scheduleEntity = DataMapper.MapperToModel(new ScheduleEntity(), schedule); ScheduleManage.Instance.AddScheduleList(scheduleEntity); // 运行任务调度 //var result = SchedulerCenter.Instance.RunScheduleJob<ScheduleManage, HttpRequestJobTask>(schedule.JobGroup, schedule.JobName).Result; var result = SchedulerCenter.Instance.RunScheduleJob <ScheduleManage>(schedule.JobGroup, schedule.JobName).Result; Console.Out.WriteLineAsync("任务执行状态:" + result.Msg); if (result.Code == 1000) { var t10 = db.Updateable <Schedule>().UpdateColumns(it => new Schedule() { JobStatus = 1, UpdateTime = DateTime.Now }) .Where(it => it.JobId == scheduleEntity.JobId).ExecuteCommand(); OperatelogService.AddLog(new OperateLog { TableName = "Schedule", Describe = "执行任务" + schedule.JobName + "成功", CreateTime = DateTime.Now, UpdateTime = DateTime.Now }); } return(base.Json(new BaseResult { Code = result.Code == 1000 ? MsgCode.Success : MsgCode.IsFail, Msg = result.Msg })); }
/// <summary> /// 删除任务 /// </summary> /// <returns></returns> public IActionResult DeleteSchedule(int id) { var db = DataHelper.GetInstance(); //根据任务编号获取任务详情 var schedule = db.Queryable <Schedule>().InSingle(id); //停止指定任务 var resultJob = SchedulerCenter.Instance.StopScheduleJob <ScheduleManage>(schedule.JobGroup, schedule.JobName, true); //更改数据状态 var result = db.Updateable <Schedule>().UpdateColumns(it => new Schedule() { Valid = 0, UpdateTime = DateTime.Now }) .Where(it => it.JobId == id).ExecuteCommand(); if (result <= 0) { return(Json(new BaseResult { Code = MsgCode.IsFail })); } OperatelogService.AddLog(new OperateLog { TableName = "Schedule", Describe = "编号为:" + id + "任务删除成功", CreateTime = DateTime.Now, UpdateTime = DateTime.Now }); return(Json(new BaseResult { Code = MsgCode.Success })); }
/// <summary> /// 删除任务 /// </summary> /// <returns></returns> public IActionResult DeleteSchedule(int id) { var db = DataHelper.GetInstance(); var schedule = db.Deleteable <Schedule>().In(id).ExecuteCommand(); OperatelogService.AddLog(new OperateLog { TableName = "Schedule", Describe = "编号为:" + id + "任务删除成功", CreateTime = DateTime.Now, UpdateTime = DateTime.Now }); return(base.Json(new BaseResult { Code = MsgCode.Success })); }
/// <summary> /// 执行任务 /// </summary> /// <param name="Id"></param> /// <returns></returns> public IActionResult ExecuteJob(int id) { var db = DataHelper.GetInstance(); var schedule = db.Queryable <Schedule>().InSingle(id); var scheduleEntity = DataMapper.MapperToModel(new ScheduleEntity(), schedule); //给IJob设置参数 scheduleEntity.Agrs = new Dictionary <string, object> { { "orderId", id } }; ScheduleManage.Instance.AddScheduleList(scheduleEntity); // 运行任务调度 BaseQuartzNetResult result; //if (schedule.TriggerType == 0) //{ // result = SchedulerCenter.Instance.RunScheduleJob<ScheduleManage, SubmitJobTask>(schedule.JobGroup, schedule.JobName).Result; //} //else //{ // result = SchedulerCenter.Instance.RunScheduleJob<ScheduleManage>(schedule.JobGroup, schedule.JobName).Result; //} result = SchedulerCenter.Instance.RunScheduleJob <ScheduleManage>(schedule.JobGroup, schedule.JobName).Result; Console.Out.WriteLineAsync("任务执行状态:" + result.Msg); if (result.Code == 1000) { var t10 = db.Updateable <Schedule>().UpdateColumns(it => new Schedule() { JobStatus = 1, UpdateTime = DateTime.Now }) .Where(it => it.JobId == scheduleEntity.JobId).ExecuteCommand(); OperatelogService.AddLog(new OperateLog { TableName = "Schedule", Describe = "执行任务" + schedule.JobName + "成功", CreateTime = DateTime.Now, UpdateTime = DateTime.Now }); } return(base.Json(new BaseResult { Code = result.Code == 1000 ? MsgCode.Success : MsgCode.IsFail, Msg = result.Msg })); }
/// <summary> /// 添加任务 /// </summary> /// <param name="schedule"></param> /// <returns></returns> public IActionResult AddJobTask(Schedule schedule) { try { var db = DataHelper.GetInstance(); if (schedule.JobId > 0) { db.Updateable(schedule).ExecuteCommand(); OperatelogService.AddLog(new OperateLog { TableName = "Schedule", Describe = "修改任务编号" + schedule.JobId + "成功", CreateTime = DateTime.Now, UpdateTime = DateTime.Now }); } else { db.Insertable(schedule).ExecuteCommand(); OperatelogService.AddLog(new OperateLog { TableName = "Schedule", Describe = "添加任务" + schedule.JobName + "成功", CreateTime = DateTime.Now, UpdateTime = DateTime.Now }); } } catch (Exception ex) { return(base.Json(new QuartzNetJob.Web.Models.BaseResult { Code = MsgCode.IsFail, Msg = ex.Message })); } return(base.Json(new QuartzNetJob.Web.Models.BaseResult { Code = MsgCode.Success, Msg = "ok" })); }