Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/20/11 13:54:57 (12 years ago)
Author:
spimming
Message:

#1680:

  • merged changes from trunk into branch

' removed pre-build event for multiple app.configs

Location:
branches/HeuristicLab.Hive.Azure
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive.Azure

  • branches/HeuristicLab.Hive.Azure/HeuristicLab.Services.Hive/3.3/HiveService.cs

    r6983 r7215  
    8787      authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client, HiveRoles.Slave);
    8888      author.AuthorizeForTask(taskId, Permission.Read);
    89       return dao.GetTask(taskId);
     89
     90      return trans.UseTransaction(() => {
     91        return dao.GetTask(taskId);
     92      }, false, false);
    9093    }
    9194
     
    100103    public IEnumerable<LightweightTask> GetLightweightTasks(IEnumerable<Guid> taskIds) {
    101104      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);
    106112    }
    107113
    108114    public IEnumerable<LightweightTask> GetLightweightChildTasks(Guid? parentTaskId, bool recursive, bool includeParent) {
    109115      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);
    114123    }
    115124
     
    117126      authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
    118127      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);
    120132    }
    121133
     
    384396    public List<MessageContainer> Heartbeat(Heartbeat heartbeat) {
    385397      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;
    388406    }
    389407    #endregion
     
    547565      authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Slave);
    548566      // 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;
    549568      trans.UseTransaction(() => {
    550569        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) {
    552571          dao.SetLastCleanup(DateTime.Now);
    553           eventManager.Cleanup();
     572          cleanup = true;
    554573        }
    555574      }, true);
     575
     576      if (cleanup) {
     577        eventManager.Cleanup();
     578      }
    556579    }
    557580    #endregion
Note: See TracChangeset for help on using the changeset viewer.