示例#1
0
        public ActionResult GetJobTask(string name, CommonStatus?status)
        {
            var search = GetSearchModel();
            var list   = JobTaskRepository.GetPager(name, status, search);

            return(Json(list, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public ActionResult JobTaskChangeStatus(long id)
        {
            var result = new JsonModel();

            if (id <= 0)
            {
                return(Json(result));
            }
            var model = JobTaskRepository.Get(id);

            if (model == null)
            {
                return(Json(result));
            }
            if (model.Status == JobTaskStatus.Enabled)
            {
                model.Status = JobTaskStatus.Disabled;
            }
            else if (model.Status == JobTaskStatus.Disabled)
            {
                model.Status = JobTaskStatus.Enabled;
            }
            SysOperationLogRepository.Insert(TableSource.JobTask, OperationType.Update, id.ToString());
            result.code = JsonModelCode.Succ;
            result.msg  = "修改状态成功!";
            return(Json(result));
        }
示例#3
0
        public static void Main(string[] args)
        {
            const string path = @"d:\\tick-tock";

            BlobRepository blobs = BlobRepositoryFactory.Create(with =>
            {
                with.Location = Path.Combine(path, "blobs");
            });

            JobExecutionRepository executions = JobExecutionRepositoryFactory.Create(with =>
            {
                with.Location = Path.Combine(path, "executions");
            });

            JobRepository jobs = JobRepositoryFactory.Create(with =>
            {
                with.Location = Path.Combine(path, "jobs");
            });

            JobTaskRepository tasks = JobTaskRepositoryFactory.Create(with =>
            {
                with.Blobs      = blobs;
                with.Executions = executions;
            });

            JobRunner runner = JobRunnerFactory.Create(with =>
            {
                with.Executions = executions;
                with.Jobs       = jobs;
                with.Tasks      = tasks;
            });

            Bootstrapper bootstrapper = new Bootstrapper(path);
            Uri          uri          = new Uri("http://localhost:1234");

            using (var host = new NancyHost(bootstrapper, uri))
            {
                host.Start();

                while (true)
                {
                    runner.Run();
                    Thread.Sleep(TimeSpan.FromSeconds(10));
                }
            }
        }
示例#4
0
        public ActionResult JobTaskEdit(JobTask model)
        {
            var result = new JsonModel();

            var type = OperationType.Insert;

            //var lastRunTime = GetTaskeLastRunTime(model.CronExpressionString);
            if (model.Id > 0)
            {
                type = OperationType.Update;
                JobTask oModel = JobTaskRepository.Get(model.Id);
                if (oModel == null)
                {
                    result.msg = "记录不存在!";
                    return(Json(result));
                }
                //表达式改变了重新计算下次运行时间
                if (!model.CronExpressionString.Equals(oModel.CronExpressionString, StringComparison.OrdinalIgnoreCase))
                {
                    //model.LastRunTime = lastRunTime;
                    model.IsDeleteOldTask = true;
                }
                else
                {
                    model.LastRunTime = oModel.LastRunTime;
                }
            }
            else
            {
                //model.LastRunTime = lastRunTime;
            }
            JobTaskRepository.Save(model);
            //插入日志
            SysOperationLogRepository.Insert(TableSource.JobTask, type, model.Id);
            result.code = JsonModelCode.Succ;
            result.msg  = "保存成功!";
            return(Json(result));
        }
示例#5
0
        public ActionResult JobTaskEdit(long id = 0, string reUrl = null)
        {
            ViewBag.ReUrl = reUrl ?? Url.Action("JobTask");
            JobTask model;

            if (id > 0)
            {
                model = JobTaskRepository.Get(id);
                if (model == null)
                {
                    ShowErrorMsg();
                    return(Redirect(ViewBag.ReUrl));
                }
            }
            else
            {
                model = new JobTask
                {
                    Status = JobTaskStatus.Enabled,
                    TaskId = Guid.NewGuid()
                };
            }
            return(View(model));
        }
示例#6
0
 public JobTaskController(JobTaskRepository jobTaskRepository, IJobTaskRunner jobTaskRunner)
 {
     _jobTaskRepository = jobTaskRepository;
     _jobTaskRunner     = jobTaskRunner;
 }