Example #1
0
        private dynamic CreateJob(dynamic arg)
        {
            Job job = new Job();
            job.Name = Request.Form["Name"];
            job.Url = Request.Form["Url"];
            job.Interval = TimeSpan.Parse(Request.Form["Interval"]);
            job.Active = false;

            JobManager.AddJob(job);

            return new RedirectResponse("/");
        }
Example #2
0
 public static void AddJob(Job job)
 {
     Jobs.Add(job);
     job.Save();
 }
Example #3
0
 private static bool ShouldRun(Job job)
 {
     DateTimeOffset lastRun = (job.LastRun ?? DateTimeOffset.MinValue);
     return !JobsRunning.Contains(job) && job.Active && (DateTimeOffset.Now - lastRun) > job.Interval;
 }
Example #4
0
        private static void Run(Job job)
        {
            var run = job.AddRun();

            var client = new WebClient();
            try
            {
                System.Threading.Thread.Sleep(1000);
                run.Message = client.DownloadString(job.Url);
            }
            catch (Exception ex)
            {
                run.Failed(ex.ToString());
            }

            var endTime = DateTimeOffset.Now;

            run.Finish();

            JobsRunning.Remove(job);
        }
Example #5
0
 public static void Log(Job job, string message, Exception ex)
 {
     Console.WriteLine("Job {0} - '{1}': {2}\n{3}", job.Id, job.Name, message, ex);
 }
Example #6
0
 public static void Log(Job job, string message)
 {
     Console.WriteLine("Job {0} - '{1}': {2}", job.Id, job.Name, message);
 }
Example #7
0
 public Run(Job job)
 {
     _job = job;
 }