public static ServiceJob Parse(ConfigReader.JobArgs jobArgs, Settings settings = null) { if (jobArgs == null) { return(null); } return(new ServiceJob { Settings = settings != null?settings.Clone() : new Settings(), Command = jobArgs.Command }); }
public void TestGetCode() { var args = new ConfigReader.JobArgs { Command = "process.exe", Day = "*", Hour = "*", Minute = "0,15,30,45", Month = "*/2", Weekday = "*", }; var job = CronJob.Parse(args, new Settings { Home = "c:\\windows", Timeout = 86400 }); Assert.AreEqual("CronJob,process.exe,c:\\windows,False,,,,,,,False,,,127,1365,2147483647,16777215,35185445863425", job.GetJobCode()); }
public static CronJob Parse(ConfigReader.JobArgs jobArgs, Settings settings = null) { if (jobArgs == null) { return(null); } var job = new CronJob { Settings = settings != null?settings.Clone() : new Settings() }; if (jobArgs.Reboot) { job.Reboot = true; job.Command = jobArgs.Command; return(job); } try { ParseValue(ref job.Minutes, jobArgs.Minute, 0, 59, false); ParseValue(ref job.Hours, jobArgs.Hour, 0, 23, false); ParseValue(ref job.Days, jobArgs.Day, 1, 31, false); ParseValue(ref job.Months, jobArgs.Month, 1, 12, false); ParseValue(ref job.Weekdays, jobArgs.Weekday, 0, 6, true); job.Command = jobArgs.Command; job.RecalcNextExecTime(); return(job); } catch (Exception e) { Logger.Error(e.Message); return(null); } }