コード例 #1
0
ファイル: RunTaskDLLJob.cs プロジェクト: zshankang/JobManage
        public void Execute(IJobExecutionContext context)
        {
            if (context.JobDetail.JobDataMap[context.JobDetail.Key.Name] != null)
            {
                GetJob(Convert.ToInt32(context.JobDetail.JobDataMap[context.JobDetail.Key.Name].ToString()));
            }
            if (job == null)
            {
                return;
            }
            //如果已暂定或停止的,不再执行
            if (job.Job_state >= 2)
            {
                return;
            }
            Stopwatch stopwatch = new Stopwatch();

            stopwatch.Start();
            int       state   = 0;
            Exception exce    = null;
            string    jobname = job.Job_name;
            DateTime  dt      = DateTime.Now;
            long      ts      = 0;

            try
            {
                Assembly assembly = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory + job.Job_assembly);
                object   obj      = assembly.CreateInstance(job.Job_class);

                Lib.IJob jobi = (Lib.IJob)obj;
                //jobi.JobLog += Jobi_JobLog;

                jobbll.UpdateJobState(new Job_Info()
                {
                    Job_state = 1, Id = job.Id
                });

                var r = jobi.Exceute();
                //if (!r)
                //    state = 1;
            }
            catch (Exception ex)
            {
                exce  = ex;
                state = 1;
            }
            finally
            {
                jobbll.UpdateJobState(new Job_Info()
                {
                    Job_state = 0, Id = job.Id
                });
                stopwatch.Stop();
                ts = stopwatch.ElapsedMilliseconds;

                this.Job_JobLog(state, jobname, exce, dt, ts);
            }
        }
コード例 #2
0
ファイル: JobController.cs プロジェクト: zshankang/JobManage
        public ActionResult Update(Job_Info job)
        {
            var bll = new JobInfoBLL();

            if (bll.UpdateJobState(job) > 0)
            {
                return(Success());
            }
            else
            {
                return(Error());
            }
        }