Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/02/17 09:41:39 (7 years ago)
Author:
jkarder
Message:

#2784: fixed pausing of hive tasks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Services.Hive/3.3/HiveService.cs

    r14185 r14901  
    263263          if (task.State == DA.TaskState.Calculating || task.State == DA.TaskState.Transferring) {
    264264            task.Command = DA.Command.Pause;
    265           }
    266           UpdateTaskState(pm, task, DT.TaskState.Paused, null, null, string.Empty);
     265          } else if (task.State != DA.TaskState.Aborted
     266                     && task.State != DA.TaskState.Finished
     267                     && task.State != DA.TaskState.Failed) {
     268            UpdateTaskState(pm, task, DT.TaskState.Paused, null, null, string.Empty);
     269          }
    267270          pm.SubmitChanges();
    268271        });
     
    962965      var stateLogDao = pm.StateLogDao;
    963966      var taskStateEntity = taskState.ToEntity();
    964       if (task.Command == DA.Command.Pause && task.State == DA.TaskState.Paused
    965           || task.Command == DA.Command.Abort && task.State == DA.TaskState.Aborted
    966           || task.Command == DA.Command.Stop && task.State == DA.TaskState.Aborted) {
    967         task.Command = null;
    968       } else if (taskStateEntity == DA.TaskState.Paused && task.Command == null) {
     967
     968      if (taskStateEntity == DA.TaskState.Paused && task.Command == null) {
    969969        // slave paused and uploaded the task (no user-command) -> set waiting.
    970970        taskStateEntity = DA.TaskState.Waiting;
    971971      }
     972
    972973      stateLogDao.Save(new DA.StateLog {
    973974        State = taskStateEntity,
     
    978979        Exception = exception
    979980      });
     981
    980982      task.State = taskStateEntity;
     983
     984      if (task.Command == DA.Command.Pause && task.State == DA.TaskState.Paused
     985          || task.Command == DA.Command.Abort && task.State == DA.TaskState.Aborted
     986          || task.Command == DA.Command.Stop && task.State == DA.TaskState.Aborted) {
     987        task.Command = null;
     988      }
    981989    }
    982990
Note: See TracChangeset for help on using the changeset viewer.