Changeset 7187
- Timestamp:
- 12/14/11 01:09:54 (13 years ago)
- Location:
- trunk/sources/HeuristicLab.Services.Hive/3.3
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Services.Hive/3.3/HiveService.cs
r7045 r7187 559 559 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Slave); 560 560 // use a serializable transaction here to ensure not two threads execute this simultaniously (mutex-lock would not work since IIS may use multiple AppDomains) 561 bool cleanup = false; 561 562 trans.UseTransaction(() => { 562 563 DateTime lastCleanup = dao.GetLastCleanup(); 563 if (force || DateTime.Now - lastCleanup > TimeSpan.FromSeconds( 59)) {564 if (force || DateTime.Now - lastCleanup > TimeSpan.FromSeconds(140)) { 564 565 dao.SetLastCleanup(DateTime.Now); 565 eventManager.Cleanup();566 cleanup = true; 566 567 } 567 568 }, true); 569 570 if (cleanup) { 571 eventManager.Cleanup(); 572 } 568 573 } 569 574 #endregion -
trunk/sources/HeuristicLab.Services.Hive/3.3/Manager/EventManager.cs
r7178 r7187 41 41 get { return LogFactory.GetLogger(this.GetType().Namespace); } 42 42 } 43 private DataAccess.ITransactionManager trans { 44 get { return ServiceLocator.Instance.TransactionManager; } 45 } 43 46 44 public void Cleanup() { 45 SetTimeoutSlavesOffline(); 46 SetTimeoutTasksWaiting(); 47 FinishParentTasks(); 48 UpdateStatistics(); 47 public void Cleanup() { 48 trans.UseTransaction(() => { 49 SetTimeoutSlavesOffline(); 50 SetTimeoutTasksWaiting(); 51 }, true); 52 53 trans.UseTransaction(() => { 54 FinishParentTasks(); 55 UpdateStatistics(); 56 }, false); 49 57 } 50 58 -
trunk/sources/HeuristicLab.Services.Hive/3.3/Manager/HeartbeatManager.cs
r6983 r7187 44 44 if (slave == null) { 45 45 actions.Add(new MessageContainer(MessageContainer.MessageType.SayHello)); 46 } else { 47 Slave s = dao.GetSlave(heartbeat.SlaveId); 48 if (s != null) { 49 if (heartbeat.HbInterval != s.HbInterval) { 50 actions.Add(new MessageContainer(MessageContainer.MessageType.NewHBInterval)); 51 } 46 } else { 47 if (heartbeat.HbInterval != slave.HbInterval) { 48 actions.Add(new MessageContainer(MessageContainer.MessageType.NewHBInterval)); 52 49 } 53 50 54 51 // update slave data 55 52 slave.FreeCores = heartbeat.FreeCores;
Note: See TracChangeset
for help on using the changeset viewer.