Ejemplo n.º 1
0
        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
            });
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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);
            }
        }