Ejemplo n.º 1
0
        /// <summary>
        /// 任务持久保存
        /// </summary>
        /// <param name="job"></param>
        protected void StandSave(IQJob job)
        {
            if (File.Exists(job.Path()))
            {
                return;
            }
            job.State  = JobState.Working;
            job.Action = JobAction.NewOne;
            string xml = XMLProcess.Serializer(typeof(QJob), job);

            XMLProcess.Write(xml, job.Path());
        }
Ejemplo n.º 2
0
 public MyJob(IQJob qjob)
 {
     this.Action        = qjob.Action;
     this.SysCode       = qjob.SysCode;
     this.JobId         = qjob.JobId;
     this.Group         = qjob.Group;
     this.Name          = qjob.Name;
     this.LastTime      = qjob.LastTime;
     this.MaxTimes      = qjob.MaxTimes;
     this.Seconds       = qjob.Seconds;
     this.State         = qjob.State;
     this.Times         = qjob.Times;
     this.StartTime     = qjob.StartTime;
     this.DetailHandler = qjob.DetailHandler;
     this.Handler       = qjob.Handler;
 }
Ejemplo n.º 3
0
        //<summary>
        //创建任务
        //</summary>
        //<param name="myjob">任务对象</param>
        public string Build(IQJob qjob)
        {
            IMyJob myjob = new MyJob(qjob);

            if (JobVariables.jobs.Exists(j => j.JobId == myjob.JobId && j.SysCode == myjob.SysCode))
            {
                return("任务与存在!!!");
            }
            JobAdd(myjob);
            IJobDetail     jobdetail = Create_Jobdetail(myjob);
            ISimpleTrigger trigger   = Create_Trigger(myjob);

            _scheduler.ScheduleJob(jobdetail, trigger);
            if (_scheduler.IsShutdown || _scheduler.InStandbyMode)
            {
                _scheduler.Start();
            }
            StandSave(qjob);
            return(qjob.Key());
        }
Ejemplo n.º 4
0
 /// <summary>
 /// 初始化任务
 /// </summary>
 public void Initialize()
 {
     string[] array = XMLProcess.GetFiles();
     if (array == null)
     {
         return;
     }
     foreach (var path in array)
     {
         IQJob  myjob = XMLProcess.Deserialize(typeof(QJob), XMLProcess.ReadXml(path)) as QJob;
         IMyJob qjob  = new MyJob(myjob);
         JobFactory.Instance.Build(myjob);
         DateTime nowtime = Convert.ToDateTime(string.Format("{0}:{1}", DateTime.Now.Hour, DateTime.Now.Minute));
         DateTime jobtime = Convert.ToDateTime(string.Format("{0}:{1}", myjob.StartTime.Hour, qjob.StartTime.Minute));
         if (DateTime.Compare(nowtime, Convert.ToDateTime(jobtime)) > 0)
         {
             DoJob(qjob);
         }
     }
 }