Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/DataTransfer/JobState.cs @ 6269

Last change on this file since 6269 was 5779, checked in by cneumuel, 14 years ago

#1233

  • implemented pause, stop for single jobs
  • introduced Command property for jobs (to distinguish between state and command (abort vs. aborted))
  • improved behaviour of ItemTreeView (double click opens new window, selected item stays marked)
  • fixed bugs in StateLogGanttChartListView and HiveJobView
  • fixed cloning of client-side dtos
File size: 2.9 KB
RevLine 
[4593]1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
[5779]22using System;
[4593]23
24namespace HeuristicLab.Services.Hive.Common.DataTransfer {
[5779]25  [Serializable]
[4593]26  public enum JobState {
[5779]27    /// <summary>
[4649]28    /// A job is offline as long as he is not yet submitted to the hive
[4593]29    /// </summary>
[4649]30    Offline,
[4593]31
32    /// <summary>
33    /// Job is waiting to be calculated
34    /// </summary>
[4598]35    Waiting,
[4593]36
[5526]37    ///// <summary>
38    ///// The job is set to Finished when all child jobs are Finished.
39    ///// </summary>
40    //FinishOnChildJobsFinished,
[5511]41
[5526]42    ///// <summary>
43    ///// The job is paused and waits on the server to be sent back to a Slave when all of its child jobs are Finished.
44    ///// </summary>
45    //ResumeOnChildJobsFinished,
[4649]46
[4593]47    /// <summary>
[5511]48    /// Job is beeing transferred
49    /// </summary>
50    Transferring,
51
52    /// <summary>
[4649]53    /// Job is actively calculated on a Slave
54    /// </summary>
55    Calculating,
[5779]56
[4649]57    /// <summary>
[5636]58    /// Job is paused, will not be picked up by slaves
59    /// </summary>
60    Paused,
61
62    /// <summary>
[4593]63    /// Job as finished and is ready to be collected by the Client
64    /// </summary>
65    Finished,
66
67    /// <summary>
68    /// Job is aborted and result can be collected by the Client
69    /// </summary>
70    Aborted,
71
72    /// <summary>
[4615]73    /// Job as been aborted due to an error. Results are ready to be collected
[4593]74    /// </summary>
[4649]75    Failed
[4615]76  };
[4593]77
[4615]78  public static class JobStateExtensions {
[4593]79    /// <summary>
[4615]80    /// This job is not yet done
[4593]81    /// </summary>
[4615]82    public static bool IsActive(this JobState jobState) {
83      return !jobState.IsDone();
84    }
[4593]85
86    /// <summary>
[4615]87    /// This job is Waiting
[4593]88    /// </summary>
[4615]89    public static bool IsWaiting(this JobState jobState) {
[5526]90      return jobState == JobState.Waiting;
[4615]91    }
[4593]92
93    /// <summary>
[4615]94    /// This job is Finished || Failed || Aborted
[4593]95    /// </summary>
[4615]96    public static bool IsDone(this JobState jobState) {
97      return jobState == JobState.Finished ||
98        jobState == JobState.Aborted ||
99        jobState == JobState.Failed;
100    }
101  }
[4593]102}
Note: See TracBrowser for help on using the repository browser.