Changeset 17928 for branches/3026_IntegrationIntoSymSpace/HeuristicLab.Services.Hive/3.3/HiveService.cs
- Timestamp:
- 04/06/21 13:13:32 (3 years ago)
- Location:
- branches/3026_IntegrationIntoSymSpace
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3026_IntegrationIntoSymSpace
- Property svn:mergeinfo changed
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.Services.Hive
- Property svn:mergeinfo changed
/trunk/HeuristicLab.Services.Hive (added) merged: 17376,17574-17575
- Property svn:mergeinfo changed
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.Services.Hive/3.3/HiveService.cs
r17180 r17928 209 209 } 210 210 211 private bool IsAuthorizedForTask(DA.Task task, Guid? slaveId) { 212 var lastStateLog = task.StateLogs.OrderByDescending(x => x.DateTime).FirstOrDefault(x => x.State == DA.TaskState.Transferring); 213 return lastStateLog == null || slaveId == null || lastStateLog.SlaveId == slaveId; 214 } 215 211 216 public DT.Task UpdateTaskState(Guid taskId, DT.TaskState taskState, Guid? slaveId, Guid? userId, string exception) { 212 217 RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client, HiveRoles.Slave); … … 217 222 return pm.UseTransaction(() => { 218 223 var task = taskDao.GetById(taskId); 219 UpdateTaskState(pm, task, taskState, slaveId, userId, exception); 220 pm.SubmitChanges(); 224 if (IsAuthorizedForTask(task, slaveId)) { 225 UpdateTaskState(pm, task, taskState, slaveId, userId, exception); 226 pm.SubmitChanges(); 227 } 221 228 return task.ToDto(); 222 229 }); … … 665 672 bool oldIsAllowedToCalculate = slave.IsAllowedToCalculate; 666 673 Guid? oldParentResourceId = slave.ParentResourceId; 674 bool? oldIsDisposable = slave.IsDisposable; 667 675 slaveInfo.CopyToEntity(slave); 668 676 slave.IsAllowedToCalculate = oldIsAllowedToCalculate; 669 677 slave.ParentResourceId = oldParentResourceId; 678 slave.IsDisposable = oldIsDisposable; 670 679 slave.LastHeartbeat = DateTime.Now; 671 680 slave.SlaveState = DA.SlaveState.Idle;
Note: See TracChangeset
for help on using the changeset viewer.