Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/21/12 15:12:15 (12 years ago)
Author:
jkarder
Message:

#1854:

  • integrated marker attribute (IsDisposable) into the Hive components
  • adjusted database scheme
  • extended administration user interface
Location:
trunk/sources/HeuristicLab.Services.Hive/3.3
Files:
6 edited

Legend:

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

    r7259 r7857  
    218218        LastHeartbeat = source.LastHeartbeat,
    219219        CpuUtilization = source.CpuUtilization,
    220         HbInterval = source.HbInterval
     220        HbInterval = source.HbInterval,
     221        IsDisposable = source.IsDisposable
    221222      };
    222223    }
     
    243244        target.CpuUtilization = source.CpuUtilization;
    244245        target.HbInterval = source.HbInterval;
     246        target.IsDisposable = source.IsDisposable;
    245247      }
    246248    }
  • trunk/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Slave.cs

    r7259 r7857  
    5353    [DataMember]
    5454    public double CpuUtilization { get; set; }
     55    [DataMember]
     56    public bool IsDisposable { get; set; }
    5557
    5658    public Slave() {
  • trunk/sources/HeuristicLab.Services.Hive/3.3/Manager/EventManager.cs

    r7434 r7857  
    4949        SetTimeoutSlavesOffline();
    5050        SetTimeoutTasksWaiting();
     51        DeleteObsoleteSlaves();
    5152      }, true);
    5253
     
    116117      }
    117118    }
     119
     120    /// <summary>
     121    /// Searches for slaves that are disposable and deletes them if they were offline for too long
     122    /// </summary>
     123    private void DeleteObsoleteSlaves() {
     124      var slaves = dao.GetSlaves(x => x.IsDisposable && x.SlaveState == SlaveState.Offline && (DateTime.Now - x.LastHeartbeat) > HeuristicLab.Services.Hive.Properties.Settings.Default.SweepInterval);
     125      foreach (DT.Slave slave in slaves) dao.DeleteSlave(slave.Id);
     126    }
    118127  }
    119128}
  • trunk/sources/HeuristicLab.Services.Hive/3.3/Properties/Settings.Designer.cs

    r7190 r7857  
    22// <auto-generated>
    33//     This code was generated by a tool.
    4 //     Runtime Version:4.0.30319.239
     4//     Runtime Version:4.0.30319.269
    55//
    66//     Changes to this file may cause incorrect behavior and will be lost if
     
    6868            }
    6969        }
     70       
     71        [global::System.Configuration.ApplicationScopedSettingAttribute()]
     72        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     73        [global::System.Configuration.DefaultSettingValueAttribute("3.00:00:00")]
     74        public global::System.TimeSpan SweepInterval {
     75            get {
     76                return ((global::System.TimeSpan)(this["SweepInterval"]));
     77            }
     78        }
    7079    }
    7180}
  • trunk/sources/HeuristicLab.Services.Hive/3.3/Properties/Settings.settings

    r7190 r7857  
    1818      <Value Profile="(Default)">00:03:00</Value>
    1919    </Setting>
     20    <Setting Name="SweepInterval" Type="System.TimeSpan" Scope="Application">
     21      <Value Profile="(Default)">3.00:00:00</Value>
     22    </Setting>
    2023  </Settings>
    2124</SettingsFile>
  • trunk/sources/HeuristicLab.Services.Hive/3.3/app.config

    r7190 r7857  
    2323                <value>00:03:00</value>
    2424            </setting>
     25            <setting name="SweepInterval" serializeAs="String">
     26                <value>3.00:00:00</value>
     27            </setting>
    2528        </HeuristicLab.Services.Hive.Properties.Settings>
    2629    </applicationSettings>
Note: See TracChangeset for help on using the changeset viewer.