Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/24/11 16:55:48 (13 years ago)
Author:
cneumuel
Message:

#1233

  • extended statistics recording:
    • execution times of users are captured
    • execution times and start-to-finish time of finished jobs is captured (to computer hive overhead)
    • data of deleted jobs is automatically captured in DeletedJobStatistics
  • changed ExecutionTime type in database from string to float (milliseconds are stored instead of TimeSpan.ToString())
  • added IsPrivileged field to job to indicate if it should be executed in a privileged sandbox
  • added CpuUtilization field to slave to be able to report cpu utilization
  • added GetJobsByResourceId to retrieve all jobs which are currently beeing calculated in a slave(-group)
  • TransactionManager now allows to use serializable tranactions (used for lifecycle trigger)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/HiveService.cs

    r6168 r6267  
    147147      return trans.UseTransaction(() => {
    148148        Job job = dao.UpdateJobState(jobId, jobState, slaveId, userId, exception);
    149        
     149
    150150        if (job.Command.HasValue && job.Command.Value == Command.Pause && job.State == JobState.Paused) {
    151151          job.Command = null;
     
    280280          dbSlave.Memory = slaveInfo.Memory;
    281281          dbSlave.OperatingSystem = slaveInfo.OperatingSystem;
    282          
    283           dbSlave.LastHeartbeat = DateTime.Now;         
     282
     283          dbSlave.LastHeartbeat = DateTime.Now;
    284284          dbSlave.SlaveState = SlaveState.Idle;
    285285
     
    472472
    473473    public void TriggerLifecycle(bool force) {
     474      // use a serializable transaction here to ensure not two threads execute this simultaniously (locking would not work since IIS may use multiple AppDomains)
    474475      trans.UseTransaction(() => {
    475476        DateTime lastCleanup = dao.GetLastCleanup();
     
    478479          lifecycleManager.Cleanup();
    479480        }
    480       });
     481      }, true);
    481482    }
    482483    #endregion
     
    526527      return trans.UseTransaction(() => dao.GetAppointments(x => x.ResourceId == resourceId));
    527528    }
     529
     530    public IEnumerable<Job> GetJobsByResourceId(Guid resourceId) {
     531      return trans.UseTransaction(() => dao.GetJobsByResourceId(resourceId));
     532    }
    528533    #endregion
    529534  }
Note: See TracChangeset for help on using the changeset viewer.