- Timestamp:
- 12/20/11 13:54:57 (12 years ago)
- Location:
- branches/HeuristicLab.Hive.Azure
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive.Azure
- Property svn:ignore
-
old new 4 4 *.suo 5 5 *.vsp 6 Doxygen 6 7 Google.ProtocolBuffers-0.9.1.dll 7 8 HeuristicLab 3.3.5.1.ReSharper.user 8 9 HeuristicLab 3.3.6.0.ReSharper.user 9 10 HeuristicLab.4.5.resharper.user 11 HeuristicLab.ExtLibs.6.0.ReSharper.user 10 12 HeuristicLab.resharper.user 11 13 ProtoGen.exe … … 16 18 bin 17 19 protoc.exe 18 HeuristicLab.ExtLibs.6.0.ReSharper.user19 Doxygen
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
branches/HeuristicLab.Hive.Azure/HeuristicLab.Services.Hive/3.3/HiveService.cs
r6983 r7215 87 87 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client, HiveRoles.Slave); 88 88 author.AuthorizeForTask(taskId, Permission.Read); 89 return dao.GetTask(taskId); 89 90 return trans.UseTransaction(() => { 91 return dao.GetTask(taskId); 92 }, false, false); 90 93 } 91 94 … … 100 103 public IEnumerable<LightweightTask> GetLightweightTasks(IEnumerable<Guid> taskIds) { 101 104 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 102 var tasks = dao.GetTasks(x => taskIds.Contains(x.TaskId)).Select(x => new LightweightTask(x)).ToArray(); 103 foreach (var task in tasks) 104 author.AuthorizeForTask(task.Id, Permission.Read); 105 return tasks; 105 106 return trans.UseTransaction(() => { 107 var tasks = dao.GetTasks(x => taskIds.Contains(x.TaskId)).Select(x => new LightweightTask(x)).ToArray(); 108 foreach (var task in tasks) 109 author.AuthorizeForTask(task.Id, Permission.Read); 110 return tasks; 111 }, false, false); 106 112 } 107 113 108 114 public IEnumerable<LightweightTask> GetLightweightChildTasks(Guid? parentTaskId, bool recursive, bool includeParent) { 109 115 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 110 var tasks = GetChildTasks(parentTaskId, recursive, includeParent).Select(x => new LightweightTask(x)).ToArray(); 111 foreach (var task in tasks) 112 author.AuthorizeForTask(task.Id, Permission.Read); 113 return tasks; 116 117 return trans.UseTransaction(() => { 118 var tasks = GetChildTasks(parentTaskId, recursive, includeParent).Select(x => new LightweightTask(x)).ToArray(); 119 foreach (var task in tasks) 120 author.AuthorizeForTask(task.Id, Permission.Read); 121 return tasks; 122 }, false, false); 114 123 } 115 124 … … 117 126 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 118 127 author.AuthorizeForJob(jobId, Permission.Read); 119 return dao.GetTasks(x => x.JobId == jobId).Select(x => new LightweightTask(x)).ToArray(); 128 129 return trans.UseTransaction(() => { 130 return dao.GetTasks(x => x.JobId == jobId).Select(x => new LightweightTask(x)).ToArray(); 131 }, false, false); 120 132 } 121 133 … … 384 396 public List<MessageContainer> Heartbeat(Heartbeat heartbeat) { 385 397 authen.AuthenticateForAnyRole(HiveRoles.Slave); 386 TriggerEventManager(false); 387 return trans.UseTransaction(() => heartbeatManager.ProcessHeartbeat(heartbeat)); 398 399 List<MessageContainer> result = trans.UseTransaction(() => heartbeatManager.ProcessHeartbeat(heartbeat)); 400 401 if (HeuristicLab.Services.Hive.Properties.Settings.Default.TriggerEventManagerInHeartbeat) { 402 TriggerEventManager(false); 403 } 404 405 return result; 388 406 } 389 407 #endregion … … 547 565 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Slave); 548 566 // use a serializable transaction here to ensure not two threads execute this simultaniously (mutex-lock would not work since IIS may use multiple AppDomains) 567 bool cleanup = false; 549 568 trans.UseTransaction(() => { 550 569 DateTime lastCleanup = dao.GetLastCleanup(); 551 if (force || DateTime.Now - lastCleanup > TimeSpan.FromSeconds(59)) {570 if (force || DateTime.Now - lastCleanup > HeuristicLab.Services.Hive.Properties.Settings.Default.CleanupInterval) { 552 571 dao.SetLastCleanup(DateTime.Now); 553 eventManager.Cleanup();572 cleanup = true; 554 573 } 555 574 }, true); 575 576 if (cleanup) { 577 eventManager.Cleanup(); 578 } 556 579 } 557 580 #endregion
Note: See TracChangeset
for help on using the changeset viewer.