Example #1
0
        public void TestReadCronDat()
        {
            var mgr = new CronManager("test.dat");

              Assert.AreEqual(7, mgr.Config.CronJobs.Count());
              Assert.AreEqual(1, mgr.Config.ServiceJobs.Count());
        }
Example #2
0
        public void TestReadCronDat()
        {
            var mgr = new CronManager("test.dat");

            Assert.AreEqual(8, mgr.Config.CronJobs.Count());
            Assert.AreEqual(1, mgr.Config.ServiceJobs.Count());

            var job = mgr.Config.CronJobs.SingleOrDefault(x => x.Command.Contains("This should be visible"));

            Assert.IsNotNull(job);
            Assert.AreEqual("cmd /c echo # This should be visible", ProcessWhitespace(job.Command));
        }
Example #3
0
        public void TestReloadCronDat()
        {
            var mgr = new CronManager("test.dat");

              Assert.AreEqual(7, mgr.Config.CronJobs.Count());
              Assert.AreEqual(1, mgr.Config.ServiceJobs.Count());

              // Reload with config changed = true
              mgr.Reload();

              Assert.AreEqual(7, mgr.Config.CronJobs.Count());
              Assert.AreEqual(1, mgr.Config.ServiceJobs.Count());
        }
Example #4
0
        public void TestReloadCronDat()
        {
            var mgr = new CronManager("test.dat");

            Assert.AreEqual(8, mgr.Config.CronJobs.Count());
            Assert.AreEqual(1, mgr.Config.ServiceJobs.Count());

            // Reload with config changed = true
            mgr.Reload();

            Assert.AreEqual(8, mgr.Config.CronJobs.Count());
            Assert.AreEqual(1, mgr.Config.ServiceJobs.Count());
        }
Example #5
0
        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));
            }
        }
Example #6
0
        /// <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);
            }
        }
Example #7
0
 private static void testcron()
 {
     Logger.warning("Cron triggered.");
     CronManager.BuildCron(DateTime.Now.AddMinutes(1.0), new Action(Programm.testcron), false);
 }