Exemplo n.º 1
0
        public ActionResult Index()
        {
            IQuartzJobService js   = new QuartzJobService(Settings.Default.db);
            List <QuartzJob>  jobs = js.GetByType(CronJobType.CalAtt);

            return(View(jobs));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 加载配置
        /// </summary>
        private void Load(bool startTimer = true)
        {
            LogUtil.Logger.Info("【加载配置】");
            if (timer != null)
            {
                timer.Stop();
                timer = null;
            }
            if (Scheduler != null)
            {
                Scheduler.Shutdown();
                Scheduler = null;
            }

            IQuartzJobService jobService = new QuartzJobService(Settings.Default.db);
            List <QuartzJob>  toFullJobs = jobService.GetByType(CronJobType.ToFullWarn);
            List <QuartzJob>  calAttJobs = jobService.GetByType(CronJobType.CalAtt);



            // 定义定时任务
            ISchedulerFactory sf = new StdSchedulerFactory();

            Scheduler = sf.GetScheduler();
            ToFullMemberJobTrigger trigger = new ToFullMemberJobTrigger(toFullJobs, Settings.Default.db, Settings.Default.queue);

            for (int i = 0; i < trigger.Triggers.Count; i++)
            {
                Scheduler.ScheduleJob(trigger.TriggerJobs[i], trigger.Triggers[i]);
            }

            CalAttJobTrigger trigger1 = new CalAttJobTrigger(calAttJobs, Settings.Default.db, Settings.Default.queue);

            for (int i = 0; i < trigger1.Triggers.Count; i++)
            {
                Scheduler.ScheduleJob(trigger1.TriggerJobs[i], trigger1.Triggers[i]);
            }

            Scheduler.Start();

            // 循环消息
            timer          = new System.Timers.Timer();
            timer.Interval = Settings.Default.interval;
            timer.Enabled  = true;
            timer.Elapsed += Timer_Elapsed;
            if (startTimer)
            {
                timer.Start();
            }
        }
Exemplo n.º 3
0
        public JsonResult Create([Bind(Include = "cronSchedule,params")] QuartzJob job)
        {
            ResultMessage msg = new ResultMessage();

            try
            {
                job.jobType = (int)CronJobType.CalAtt;

                msg = DoValidation(job);

                if (!msg.Success)
                {
                    return(Json(msg, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    IQuartzJobService cs = new QuartzJobService(Settings.Default.db);
                    bool isSucceed       = cs.Create(job);

                    msg.Success = isSucceed;
                    msg.Content = isSucceed ? "" : "添加失败";

                    // 重启任务服务
                    TaskDispatcher dtt = new TaskDispatcher(Settings.Default.queue);
                    dtt.SendRestartSvcMessage();

                    return(Json(msg, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                return(Json(new ResultMessage()
                {
                    Success = false, Content = ex.Message
                }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 4
0
        //如果存在员工排班,则不可删除
        public ActionResult Delete(int id, FormCollection collection)
        {
            ResultMessage msg = new ResultMessage();

            try
            {
                IQuartzJobService js = new QuartzJobService(Settings.Default.db);
                bool isSucceed       = js.Delete(id);

                msg.Success = isSucceed;
                msg.Content = isSucceed ? "" : "删除失败";
                // 重启任务服务
                TaskDispatcher dtt = new TaskDispatcher(Settings.Default.queue);
                dtt.SendRestartSvcMessage();
                return(Json(msg, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new ResultMessage()
                {
                    Success = false, Content = ex.Message
                }, JsonRequestBehavior.AllowGet));
            }
        }