コード例 #1
0
        public void AddSimpleTriggers(QRTZ_TRIGGERSDto model)
        {
            var sqls = Sql.Builder.Append("insert into QRTZ_SIMPLE_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,REPEAT_COUNT,REPEAT_INTERVAL,TIMES_TRIGGERED) values(@0,@1,@2,@3,@4,@5)"
                                          , model.SCHED_NAME, model.TRIGGER_NAME, model.TRIGGER_GROUP, model.REPEAT_COUNT, model.REPEAT_INTERVAL, model.TIMES_TRIGGERED);

            Execute(sqls);
        }
コード例 #2
0
        public void UpdateSimpleTriggers(QRTZ_TRIGGERSDto model)
        {
            var sqls = Sql.Builder.Append("update QRTZ_SIMPLE_TRIGGERS set REPEAT_COUNT=@0,REPEAT_INTERVAL=@1 where TRIGGER_NAME=@2"
                                          , model.REPEAT_COUNT, model.REPEAT_INTERVAL, model.TRIGGER_NAME);

            Execute(sqls);
        }
コード例 #3
0
        public void UpdateCronTriggers(QRTZ_TRIGGERSDto model)
        {
            var sqlc = Sql.Builder.Append("update QRTZ_CRON_TRIGGERS set CRON_EXPRESSION=@0,TIME_ZONE_ID=@1 where TRIGGER_NAME=@2"
                                          , model.CRON_EXPRESSION, model.TIME_ZONE_ID, model.TRIGGER_NAME);

            Execute(sqlc);
        }
コード例 #4
0
        public void AddCronTriggers(QRTZ_TRIGGERSDto model)
        {
            var sqlc = Sql.Builder.Append("insert into QRTZ_CRON_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,CRON_EXPRESSION,TIME_ZONE_ID) values(@0,@1,@2,@3,@4)"
                                          , model.SCHED_NAME, model.TRIGGER_NAME, model.TRIGGER_GROUP, model.CRON_EXPRESSION, model.TIME_ZONE_ID);

            Execute(sqlc);
        }
コード例 #5
0
        public void UpdateTriggers(QRTZ_TRIGGERSDto model)
        {
            var sqlt = Sql.Builder.Append("update QRTZ_TRIGGERS set DESCRIPTION=@0,NEXT_FIRE_TIME=@1,PREV_FIRE_TIME=@2,PRIORITY=@3,TRIGGER_STATE=@4,TRIGGER_TYPE=@5,START_TIME=@6,END_TIME=@7 where TRIGGER_NAME=@8"
                                          , model.DESCRIPTION, model.NEXT_FIRE_TIME, model.PREV_FIRE_TIME, model.PRIORITY, model.TRIGGER_STATE, model.TRIGGER_TYPE, model.START_TIME, model.END_TIME, model.TRIGGER_NAME);

            Execute(sqlt);
        }
コード例 #6
0
        public void AddTriggers(QRTZ_TRIGGERSDto model)
        {
            var sql = Sql.Builder.Append("insert into QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,JOB_NAME,JOB_GROUP,DESCRIPTION,NEXT_FIRE_TIME,PREV_FIRE_TIME,PRIORITY,TRIGGER_STATE,TRIGGER_TYPE,START_TIME,END_TIME,MISFIRE_INSTR) values(@0,@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13)"
                                         , model.SCHED_NAME, model.TRIGGER_NAME, model.TRIGGER_GROUP, model.JOB_NAME, model.JOB_GROUP, model.DESCRIPTION, model.NEXT_FIRE_TIME, model.PREV_FIRE_TIME, model.PRIORITY, model.TRIGGER_STATE, model.TRIGGER_TYPE, model.START_TIME, model.END_TIME, model.MISFIRE_INSTR);

            Execute(sql);
        }
コード例 #7
0
 public RequestResultDto AddTriggers(QRTZ_TRIGGERSDto model)
 {
     try
     {
         _qrtz_triggers.AddTriggers(model);
         if (model.TRIGGER_TYPE == "SIMPLE")
         {
             _qrtz_simple_triggers.AddSimpleTriggers(model);
         }
         else
         {
             _qrtz_cron_triggers.AddCronTriggers(model);
         }
         _result.Ret = 0;
         _result.Msg = "添加成功";
     }
     catch (Exception e)
     {
         _result.Msg = e.Message;
     }
     return(_result);
 }
コード例 #8
0
        public ActionResult TriggerSave(TriggersModel savemodel)
        {
            #region  拉初始化
            var triggerStateList = new List <SelectListItem>();
            triggerStateList.Insert(0, new SelectListItem {
                Text = "等待", Value = "WAITING"
            });
            triggerStateList.Insert(1, new SelectListItem {
                Text = "暂停", Value = "PAUSED"
            });
            ViewData["triggerStateList"] = triggerStateList;

            var triggerTypeList = new List <SelectListItem>();
            triggerTypeList.Insert(0, new SelectListItem {
                Text = "简单触发器", Value = "SIMPLE"
            });
            triggerTypeList.Insert(1, new SelectListItem {
                Text = "CRON触发器", Value = "CRON"
            });
            ViewData["triggerTypeList"] = triggerTypeList;

            var triggersGroupList = TriggersGroupEnum.TriggersGroup1.ToSelectList();
            triggersGroupList.Insert(0, new SelectListItem {
                Text = "请选择", Value = string.Empty
            });
            ViewData["triggersGroupList"] = triggersGroupList;

            var jobList = _job.GetListJobName().ToSelectList(c => c.JOB_NAME, c => c.JOB_NAME);
            jobList.Insert(0, new SelectListItem {
                Text = "请选择", Value = string.Empty
            });
            ViewData["jobList"] = jobList;
            #endregion

            var model    = _job.GetTriggers(savemodel.TRIGGER_NAME);
            var jobModel = _job.GetJob(savemodel.JOB_NAME);
            if (savemodel.TRIGGER_TYPE == "SIMPLE" && savemodel.REPEAT_INTERVAL <= 0)
            {
                ModelState.AddModelError("JOB_NAME", "请填写重复间隔");
                return(View(savemodel));
            }
            if (model == null)
            {
                if (ModelState.IsValid)
                {
                    model = new QRTZ_TRIGGERSDto
                    {
                        SCHED_NAME      = jobModel.SCHED_NAME,
                        TRIGGER_NAME    = savemodel.TRIGGER_NAME,
                        TRIGGER_GROUP   = savemodel.TRIGGER_GROUP,
                        JOB_NAME        = jobModel.JOB_NAME,
                        JOB_GROUP       = jobModel.JOB_GROUP,
                        DESCRIPTION     = savemodel.DESCRIPTION,
                        NEXT_FIRE_TIME  = savemodel.START_TIME.AddHours(-8).AddMilliseconds(savemodel.REPEAT_INTERVAL * 60 * 1000).Ticks,
                        PRIORITY        = savemodel.PRIORITY,
                        TRIGGER_STATE   = savemodel.TRIGGER_STATE,
                        TRIGGER_TYPE    = savemodel.TRIGGER_TYPE,
                        START_TIME      = savemodel.START_TIME.AddHours(-8).Ticks,
                        CRON_EXPRESSION = savemodel.CRON_EXPRESSION,
                        REPEAT_COUNT    = savemodel.REPEAT_COUNT,
                        REPEAT_INTERVAL = Convert.ToInt64(savemodel.REPEAT_INTERVAL * 60 * 1000)
                    };
                    if (savemodel.END_TIME != null)
                    {
                        model.END_TIME = Convert.ToDateTime(savemodel.END_TIME).AddHours(-8).Ticks;
                    }
                    var result = _job.AddTriggers(model);
                    if (result.Ret == -1)
                    {
                        ModelState.AddModelError("JOB_NAME", result.Msg);
                        return(View(savemodel));
                    }
                    return(CloseParentBox(result.Msg, "/Job/TriggerList"));
                }
            }
            else
            {
                model.DESCRIPTION     = savemodel.DESCRIPTION;
                model.PRIORITY        = savemodel.PRIORITY;
                model.TRIGGER_STATE   = savemodel.TRIGGER_STATE;
                model.TRIGGER_TYPE    = savemodel.TRIGGER_TYPE;
                model.START_TIME      = savemodel.START_TIME.AddHours(-8).Ticks;
                model.CRON_EXPRESSION = savemodel.CRON_EXPRESSION;
                model.REPEAT_COUNT    = savemodel.REPEAT_COUNT;
                model.REPEAT_INTERVAL = Convert.ToInt64(savemodel.REPEAT_INTERVAL * 60 * 1000);
                if (savemodel.END_TIME != null)
                {
                    model.END_TIME = Convert.ToDateTime(savemodel.END_TIME).AddHours(-8).Ticks;
                }
                var result = _job.UpdateTriggers(model);
                if (result.Ret == -1)
                {
                    ModelState.AddModelError("JOB_NAME", result.Msg);
                    return(View(savemodel));
                }
                return(CloseParentBox(result.Msg, "/Job/TriggerList"));
            }
            return(View(savemodel));
        }