コード例 #1
0
ファイル: JobFactory.cs プロジェクト: popotans/Quatrz.Task
        /// <summary>
        /// 创建jobdetail
        /// </summary>
        /// <param name="qjob">
        /// 默认执行Create_Execute
        /// </param>
        /// <returns></returns>
        protected IJobDetail Create_Jobdetail(IMyJob qjob)
        {
            IJobDetail jobdetail = JobBuilder.Create <Create_Job>()
                                   .WithIdentity(qjob.JobId, qjob.SysCode)
                                   .Build();

            return(jobdetail);
        }
コード例 #2
0
ファイル: JobFactory.cs プロジェクト: popotans/Quatrz.Task
        /// <summary>
        /// 创建job触发器
        /// </summary>
        /// <param name="qjob"></param>
        /// <returns></returns>
        protected ISimpleTrigger Create_Trigger(IMyJob qjob)
        {
            ISimpleTrigger trigger;

            trigger = (ISimpleTrigger)TriggerBuilder.Create().WithIdentity(qjob.JobId, qjob.SysCode)
                      .StartAt(qjob.StartTime).WithSimpleSchedule(x => x.WithIntervalInSeconds(qjob.Seconds)
                                                                  .WithRepeatCount(qjob.MaxTimes - 1))
                      .Build();
            return(trigger);
        }
コード例 #3
0
ファイル: JobFactory.cs プロジェクト: popotans/Quatrz.Task
            public void Execute(Quartz.IJobExecutionContext context)
            {
                IMyJob myjob = JobFactory.Instance.Find(context.JobDetail.Key);

                myjob.Load();
                if (myjob.State != JobState.Working)
                {
                    return;
                }
                JobFactory.Instance.JobRemove(myjob);
                myjob.Excute();
                JobFactory.Instance.JobAdd(myjob);
            }
コード例 #4
0
ファイル: JobFactory.cs プロジェクト: popotans/Quatrz.Task
 bool JobsResume(IMyJob myjob)
 {
     try
     {
         _scheduler.ResumeJob(new JobKey(myjob.JobId, myjob.SysCode));
         JobRemove(myjob);
         myjob.QResume();
         JobAdd(myjob);
         return(true);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
コード例 #5
0
ファイル: JobFactory.cs プロジェクト: popotans/Quatrz.Task
 /// <summary>
 /// 立即执行job
 /// </summary>
 /// <param name="job"></param>
 void DoJob(IMyJob myjob)
 {
     try
     {
         JobRemove(myjob);
         if (myjob.State != JobState.Working)
         {
             return;
         }
         //获取订阅委托列表
         myjob.Excute();
         JobAdd(myjob);
     }
     catch (Exception ex)
     { }
 }
コード例 #6
0
        public static void AddSimpleJob(IMyJob IJobName, string srvName)
        {
            //jobDetail by using JobDetailImpl method
            JobDetailImpl jobDetail = new JobDetailImpl(srvName + ": " + IJobName.jobName, IJobName.jobGroup, IJobName.GetType());

            jobDetail.JobDataMap.Add("srvName", srvName);

            //creating Trigger
            ITrigger trigger = TriggerBuilder.Create()
                               .WithSimpleSchedule(s => s.WithIntervalInSeconds(IJobName.timeFrequency).WithRepeatCount(0))
                               .Build();

            _scheduler.ScheduleJob(jobDetail, trigger);

            //Thread.Sleep(5000);
        }
コード例 #7
0
ファイル: JobFactory.cs プロジェクト: popotans/Quatrz.Task
 /// <summary>
 /// 移除任务
 /// </summary>
 /// <param name="myjob">IQjob</param>
 /// <returns></returns>
 bool JobsRemove(IMyJob myjob)
 {
     try
     {
         bool flag = _scheduler.DeleteJob(new JobKey(myjob.JobId, myjob.SysCode));
         if (flag)
         {
             JobRemove(myjob);
             myjob.QRemove();
         }
         return(flag);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
コード例 #8
0
 private void RaiseReminder(IMyJob myJob, JobDetailImpl jobDetail, SimpleTriggerImpl trigger2)
 {
     AddJob(jobDetail, trigger2);
 }
コード例 #9
0
 public DmvOfficeScheduler(IMyJob <DmvOffice> dmvOfficeJob)
 {
     _dmvOfficeJob = dmvOfficeJob;
 }
コード例 #10
0
ファイル: JobFactory.cs プロジェクト: popotans/Quatrz.Task
 /// <summary>
 /// 向任务列表中添加指定对象
 /// </summary>
 /// <param name="myjob"></param>
 void JobAdd(IMyJob myjob)
 {
     JobVariables.jobs.Insert(0, myjob);
 }
コード例 #11
0
ファイル: JobFactory.cs プロジェクト: popotans/Quatrz.Task
 /// <summary>
 /// 从任务列表中删除指定对象
 /// </summary>
 /// <param name="myjob"></param>
 /// <returns></returns>
 bool JobRemove(IMyJob myjob)
 {
     return(JobVariables.jobs.Remove(myjob));
 }
コード例 #12
0
 public DmvWaitTimeScheduler(IMyJob <CurrentDmvWaitTimes> dmvWaitTimeJob)
 {
     _dmvWaitTimeJob = dmvWaitTimeJob;
 }
コード例 #13
0
 public DmvBestVisitTimeScheduler(IMyJob <DmvBestVisitTime> dmvBestVisitJob)
 {
     _dmvBestVisitJob = dmvBestVisitJob;
 }