Exemplo n.º 1
0
 private void shutDownWhenFinishedLocalQueueToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (shutDownWhenFinishedLocalQueueToolStripMenuItem.Checked)
     {
         mode = JobWorkerMode.CloseOnLocalListCompleted;
     }
     else
     {
         mode = JobWorkerMode.RequestNewJobs;
     }
 }
Exemplo n.º 2
0
        private void loadJobLists()
        {
            string path = Path.Combine(mainForm.MeGUIPath, "joblists.xml");

            JobListSerializer s = Util.XmlDeserializeOrDefault <JobListSerializer>(path);

            jobQueue.JobList = toJobList(s.mainJobList);

            foreach (Pair <string, List <string> > p in s.workersAndTheirJobLists)
            {
                JobWorkerMode mode = JobWorkerMode.RequestNewJobs;
                bool          bIsTemporaryWorker = false;
                if (p.fst.StartsWith("Temporary worker "))
                {
                    if (p.snd.Count == 0)
                    {
                        continue;
                    }
                    mode = JobWorkerMode.CloseOnLocalListCompleted;
                    bIsTemporaryWorker = true;
                }
                JobWorker w = NewWorker(p.fst, false);
                w.Mode = mode;
                w.IsTemporaryWorker = bIsTemporaryWorker;

                // check if there are any unassigned jobs which belongs to this worker
                foreach (TaggedJob oJob in allJobs.Values)
                {
                    if (w.Name.Equals(oJob.OwningWorker) && !p.snd.Contains(oJob.Name))
                    {
                        p.snd.Add(oJob.Name);
                    }
                }

                IEnumerable <TaggedJob> list = toJobList(p.snd);
                foreach (TaggedJob j in list)
                {
                    w.AddJob(j);
                }
            }

            // check if there are any assigned jobs which have no existing worker
            foreach (TaggedJob oJob in allJobs.Values)
            {
                if (oJob.OwningWorker != null && !workers.ContainsKey(oJob.OwningWorker))
                {
                    oJob.OwningWorker = null;
                }
            }
        }
Exemplo n.º 3
0
 private void shutDownWhenFinishedLocalQueueToolStripMenuItem_Click(object sender, EventArgs e)
 {
     shutDownWhenFinishedLocalQueueToolStripMenuItem.Checked = !shutDownWhenFinishedLocalQueueToolStripMenuItem.Checked;
     if (shutDownWhenFinishedLocalQueueToolStripMenuItem.Checked)
     {
         if (localJobs.Count == 0 && status == JobWorkerStatus.Idle)
         {
             UserRequestShutDown();
         }
         else
         {
             mode = JobWorkerMode.CloseOnLocalListCompleted;
         }
     }
     else
     {
         mode = JobWorkerMode.RequestNewJobs;
     }
 }
Exemplo n.º 4
0
 public void ShutDownWhenFinished()
 {
     shutDownWhenFinishedLocalQueueToolStripMenuItem.Checked = !shutDownWhenFinishedLocalQueueToolStripMenuItem.Checked;
     if (shutDownWhenFinishedLocalQueueToolStripMenuItem.Checked)
     {
         if (localJobs.Count == 0 && status == JobWorkerStatus.Idle)
         {
             UserRequestShutDown();
         }
         else
         {
             mode = JobWorkerMode.CloseOnLocalListCompleted;
         }
     }
     else
     {
         mode = JobWorkerMode.RequestNewJobs;
     }
 }