public void UpdateCronObjects() { CloseTriggers(); var triggers = Dao.Query <Trigger>(); foreach (var trigger in triggers) { var dataContext = new CronObjectDataContext(new List <CronSchedule> { CronSchedule.Parse(trigger.Expression) }) { Object = trigger, LastTrigger = trigger.LastTrigger }; var cronObject = new CronObject(dataContext); cronObject.OnCronTrigger += OnCronTrigger; _cronObjects.Add(cronObject); } _cronObjects.ForEach(x => x.Start()); }
private CronObject CreateCronObject(Type newTaskType, string groupName, string cronExpression) { var cronSchedule = CronSchedule.Parse(cronExpression); var cronSchedules = new List <CronSchedule> { cronSchedule }; var dc = new CronObjectDataContext { Object = new CronObjectHelper() { TaskType = newTaskType, GroupName = groupName }, CronSchedules = cronSchedules, LastTrigger = DateTime.Now }; var cron = new CronObject(dc); cron.OnCronTrigger += Cron_OnCronTrigger; cron.OnThreadAbort += Cron_OnThreadAbort; return(cron); }
public static void StartServer() { try { // Startting HTTP server HttpServer = new PortalHttpServer(ServerPort); MainThread = new Thread(HttpServer.Listen); MainThread.Start(); // Starting Cron Job var now = DateTime.Now; var cronSchedule = CronSchedule.Parse("* * * * *"); var cronSchedules = new List<CronSchedule> { cronSchedule }; var dc = new CronObjectDataContext { Object = DateTime.Now, CronSchedules = cronSchedules, LastTrigger = now }; Cron = new CronObject(dc); Cron.OnCronTrigger += Cron_OnCronTrigger; Cron.Start(); // Set button text SetTextBtn(@"Stop"); SetColorDisplay(Color.Aquamarine); WriteDisplay("Server Started on port: " + ServerPort); } catch (Exception) { WriteDisplay("Unable to start server"); SetColorDisplay(Color.Tomato); } }