/// <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
            }));
        }
Exemple #3
0
        /// <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"
     }));
 }