private void whenJobIsFinished(object sender, EventArgs e) { this.processingJob = null; this.removeJobAndStartNextJobInQueue(); }
private void removeJobAndStartNextJobInQueue() { if (this.processingJob == null) { try { Job j = this.jobQueue.Dequeue(); this.processingJob = j; logger.Info("start job {0} is first in queue and none is processing", j); j.Start(); } catch (Exception) { logger.Info("no next job to start"); } } else { logger.Info("job enqueued. there is still an active Job"); } }
/// <summary> /// works only on jobs that /// </summary> /// <returns></returns> public Job CloneNonDynamicStuff() { Job j = new Job(); j.Name = this.Name; foreach (ITask task in this.TasksList) { j.AddTask(task.CloneNonDynamicStuff()); } return j; }
private void createDefaultJob() { this.skeletonJob = (Job) this.springContext["defaultjob"]; }
public static Job CreateTestJob() { // configure tasks Job skeletonJob = new Job(); skeletonJob.Name = "my first job"; skeletonJob.AddTask(new FileGatherTask {IsEnabled = true, DeleteSource = false, FilePattern = "*.jpg", RecurseDirectories = true, SourceDirectory = @"..\..\..\testdata\pixrotate", TargetDirectory = @"c:\tmp"}); skeletonJob.AddTask(new FileRenamerTask {IsEnabled = true, RenamePattern = "bastitest_{0:000}"}); skeletonJob.AddTask(new ImageShrinkTask {IsEnabled = true, SizeX = 400, SizeY = 400, NameExtension = "_thumb"}); skeletonJob.AddTask(new DirSorterTask {IsEnabled = true, DirectoryFillCount = 2, DirectoryPattern = "test_{0:000}"}); skeletonJob.AddTask(new ImageRotateTask {IsEnabled = false}); // skeletonJob.AddTask(new FTPTask() { IsEnabled = true, Server = "www.dotob.de", ServerDirectory = "files", UserName = "", Password = "" }); // skeletonJob.AddTask(new GEOTagTask { IsEnabled = false }); skeletonJob.AddTask(new SliceTask() {IsEnabled = false, XSliceCount = 5, YSliceCount = 5}); skeletonJob.AddTask(new CleanResourcesTask {IsEnabled = true}); return skeletonJob; }