public void ConfigureCron() { CronManager.Start(); var jobs = CronManager.GetJobs(); foreach (var job in jobs) { CronManager.RemoveJob(job.JobID); } var productStatus = new CreateScheduleProductStatus(); CronManager.AddJob(productStatus); CronJobController.update("Product Status", productStatus.JobID); var websites = productStatus.getWebAdvertisements(); foreach (var website in websites) { CronManager.AddJob(new RunScheduleProductStatus(website)); } }
/// <summary> /// Cập nhật lại trạng thái và giờ start /// </summary> /// <param name="name"></param> /// <param name="cronExpression"></param> /// <param name="status"></param> /// <returns></returns> public static IM_PJ.Models.CronJob update(IM_PJ.Models.CronJob cronNew) { using (var con = new inventorymanagementEntities()) { var cronJOB = con.CronJobs .Where(x => x.Name.Trim().ToLower() == cronNew.Name.Trim().ToLower()) .FirstOrDefault(); if (cronJOB != null) { // Cập nhật lại trạng thái và giờ start cronJOB.CronExpression = cronNew.CronExpression; cronJOB.Status = cronNew.Status; cronJOB.RunAllProduct = cronNew.RunAllProduct; cronJOB.MinProduct = cronNew.MinProduct; cronJOB.ModifiedDate = DateTime.Now; con.SaveChanges(); // Xóa task củ if (cronJOB.JobID.HasValue) { CronManager.RemoveJob(cronJOB.JobID.Value); } // Load lại cron job để cập nhật thông tin mới var taskProductStatus = new CreateScheduleProductStatus(); CronManager.AddJob(taskProductStatus); // Cập nhật lại JobID new cronJOB.JobID = taskProductStatus.JobID; con.SaveChanges(); } return(cronJOB); } }