public CronJob(string line) { int fieldcount = 0; foreach (Match match in regex.Matches(line)) { fieldcount++; if (fieldcount == 6) { try { exprstr = line.Substring(0, match.Index - 1).Trim(); command = line.Substring(match.Index).Trim(); exprobj = CronExpression.Parse(exprstr); next = exprobj.GetNextOccurrence(DateTimeOffset.Now, TimeZoneInfo.Local)?.DateTime; } catch { } break; } } if (next == null) { CronService.Logging(string.Format("unable to create job: {0}", line)); } else { CronService.Logging(string.Format("job created successfully: {0} {1}", exprstr, command)); } }
public void Execute() { if (DateTime.Now > next) { CronService.Logging(string.Format("run: {0}", command)); ThreadPool.QueueUserWorkItem(RunCommand); next = exprobj.GetNextOccurrence(DateTimeOffset.Now, TimeZoneInfo.Local)?.DateTime; } }
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { CronService.Logging("program terminated"); }
private void clearLogToolStripMenuItem_Click(object sender, EventArgs e) { CronService.ClearLogFile(); }
private void viewLogToolStripMenuItem_Click(object sender, EventArgs e) { CronService.OpenLogFile(); }
private void editJobsToolStripMenuItem_Click(object sender, EventArgs e) { CronService.OpenCronFile(); }
public Form1() { InitializeComponent(); CronService.Logging("program started"); }