Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/TaskState.cs @ 6743

Last change on this file since 6743 was 6743, checked in by ascheibe, 13 years ago

#1233

  • fixed a bug in the Slave UI
  • finished renaming Webservice and Dao methods to be consistent with Job/Task naming
  • some cosmetic changes and project dependencies cleanups
File size: 2.5 KB
RevLine 
[4593]1#region License Information
2/* HeuristicLab
[6372]3 * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
[4593]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
[6717]24namespace HeuristicLab.Services.Hive.DataTransfer {
[5779]25  [Serializable]
[6721]26  public enum TaskState {
[5779]27    /// <summary>
[6743]28    /// A task is offline as long as job is not yet submitted to the hive
[4593]29    /// </summary>
[4649]30    Offline,
[4593]31
32    /// <summary>
[6721]33    /// Task is waiting to be calculated
[4593]34    /// </summary>
[4598]35    Waiting,
[4593]36
37    /// <summary>
[6721]38    /// Task is beeing transferred
[5511]39    /// </summary>
40    Transferring,
41
42    /// <summary>
[6721]43    /// Task is actively calculated on a Slave
[4649]44    /// </summary>
45    Calculating,
[5779]46
[4649]47    /// <summary>
[6721]48    /// Task is paused, will not be picked up by slaves
[5636]49    /// </summary>
50    Paused,
51
52    /// <summary>
[6721]53    /// Task as finished and is ready to be collected by the Client
[4593]54    /// </summary>
55    Finished,
56
57    /// <summary>
[6721]58    /// Task is aborted and result can be collected by the Client
[4593]59    /// </summary>
60    Aborted,
61
62    /// <summary>
[6721]63    /// Task as been aborted due to an error. Results are ready to be collected
[4593]64    /// </summary>
[4649]65    Failed
[4615]66  };
[4593]67
[6721]68  public static class TaskStateExtensions {
[4593]69    /// <summary>
[6743]70    /// This task is not yet done
[4593]71    /// </summary>
[6721]72    public static bool IsActive(this TaskState taskState) {
73      return !taskState.IsDone();
[4615]74    }
[4593]75
76    /// <summary>
[6743]77    /// This task is Waiting
[4593]78    /// </summary>
[6721]79    public static bool IsWaiting(this TaskState taskState) {
80      return taskState == TaskState.Waiting;
[4615]81    }
[4593]82
83    /// <summary>
[6743]84    /// This task is Finished || Failed || Aborted
[4593]85    /// </summary>
[6721]86    public static bool IsDone(this TaskState taskState) {
87      return taskState == TaskState.Finished ||
88        taskState == TaskState.Aborted ||
89        taskState == TaskState.Failed;
[4615]90    }
91  }
[4593]92}
Note: See TracBrowser for help on using the repository browser.