- Timestamp:
- 03/08/11 14:54:17 (14 years ago)
- Location:
- branches/HeuristicLab.Hive-3.4
- Files:
-
- 1 added
- 2 deleted
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.LifecycleClient/Program.cs ¶
r5593 r5636 7 7 using (var factory = ClientFactory.CreateChannelFactory<IHiveService>("wsHttpBinding_IHiveService", null, "hiveslave", "hiveslave")) { 8 8 IHiveService client = factory.Obj.CreateChannel(); 9 client.TriggerLifecycle( );9 client.TriggerLifecycle(true); 10 10 } 11 11 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.ConsoleClient-3.4/HeuristicLab.Clients.Hive.Slave.ConsoleClient-3.4.csproj ¶
r5599 r5636 78 78 </ItemGroup> 79 79 <ItemGroup> 80 <None Include="app.config" /> 80 <None Include="app.config"> 81 <SubType>Designer</SubType> 82 </None> 81 83 <None Include="app_ascheibe.config"> 82 84 <SubType>Designer</SubType> 83 85 </None> 86 <None Include="app_f005pc.config" /> 84 87 <None Include="app_services.config" /> 85 88 </ItemGroup> -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.ConsoleClient-3.4/app_f005pc.config ¶
r5591 r5636 6 6 <wsHttpBinding> 7 7 <binding name="wsHttpBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false"> 8 <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount=" 16384"/>8 <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="2147483647"/> 9 9 <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/> 10 10 <security mode="Message"> … … 17 17 18 18 <services> 19 <service name="HeuristicLab.Clients.Hive.Slave .SlaveCommunicationService">20 <endpoint address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.Slave .ServiceContracts.ISlaveCommunication"/>19 <service name="HeuristicLab.Clients.Hive.SlaveCore.SlaveCommunicationService"> 20 <endpoint address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/> 21 21 </service> 22 22 </services> 23 23 24 24 <client> 25 <!--http://localhost:9000/Hive-3.4-->26 25 <endpoint address="http://localhost/Hive-3.4/HiveService.svc" 27 26 binding="wsHttpBinding" 28 27 bindingConfiguration="wsHttpBinding" 29 contract="HeuristicLab. Services.Hive.Common.ServiceContracts.IHiveService"28 contract="HeuristicLab.Clients.Hive.IHiveService" 30 29 name="wsHttpBinding_IHiveService"> 31 30 <identity> -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.ConsoleClient-3.4/app_services.config ¶
r5599 r5636 6 6 <wsHttpBinding> 7 7 <binding name="wsHttpBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false"> 8 <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount=" 16384"/>8 <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="2147483647"/> 9 9 <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/> 10 10 <security mode="Message"> -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Tests/Mocks/MockHiveService.cs ¶
r5633 r5636 169 169 // do nothing 170 170 } 171 172 public Job UpdateJobState(Guid jobId, JobState jobState, Guid? slaveId, Guid? userId, string exception) { 173 throw new NotImplementedException(); 174 } 171 175 #endregion 172 176 … … 337 341 338 342 #region Lifecycle Methods 339 public void TriggerLifecycle() { 340 throw new NotImplementedException(); 341 } 342 #endregion 343 343 public void TriggerLifecycle(bool force) { 344 throw new NotImplementedException(); 345 } 346 #endregion 344 347 #region Appointment Methods 345 348 public Guid AddAppointment(Appointment appointment) { -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/Core.cs ¶
r5599 r5636 140 140 switch (container.Message) { 141 141 case MessageContainer.MessageType.CalculateJob: 142 Job myJob = wcfService.GetJob(container.JobId);143 //TODO: handle in own thread!!144 JobData jobData = wcfService.GetJobData(myJob.Id);145 StartJobInAppDomain( myJob, jobData);142 Job job = wcfService.GetJob(container.JobId); 143 JobData jobData = wcfService.GetJobData(job.Id); 144 job = wcfService.UpdateJobState(job.Id, JobState.Calculating, null); 145 StartJobInAppDomain(job, jobData); 146 146 break; 147 147 case MessageContainer.MessageType.ShutdownSlave: … … 181 181 } 182 182 183 private void DoPauseJob(Guid guid) {184 Job job = Jobs[ guid];183 private void DoPauseJob(Guid jobId) { 184 Job job = Jobs[jobId]; 185 185 186 186 if (job != null) { … … 192 192 try { 193 193 ClientCom.LogMessage("Sending the paused job with id: " + job.Id); 194 wcfService.UpdateJobData(job, sJob, ConfigManager.Instance.GetClientInfo().Id );194 wcfService.UpdateJobData(job, sJob, ConfigManager.Instance.GetClientInfo().Id, JobState.Paused); 195 195 SlaveStatusInfo.JobsProcessed++; //TODO: count or not count, thats the question 196 196 } … … 215 215 try { 216 216 ClientCom.LogMessage("Sending the stoppped job with id: " + job.Id); 217 wcfService.UpdateJobData(job, sJob, ConfigManager.Instance.GetClientInfo().Id );217 wcfService.UpdateJobData(job, sJob, ConfigManager.Instance.GetClientInfo().Id, JobState.Paused); 218 218 SlaveStatusInfo.JobsProcessed++; //TODO: count or not count, thats the question 219 219 } … … 347 347 } else { 348 348 Job job = Jobs[data.JobId]; 349 job.SetState(JobState.Transferring); 350 wcfService.UpdateJobData(job, data, ConfigManager.Instance.GetClientInfo().Id); 351 job.SetState(JobState.Waiting); // todo: what if it was a ResumeOnChildJobsFinished job before? maybe look into StateLog 349 wcfService.UpdateJobData(job, data, ConfigManager.Instance.GetClientInfo().Id, JobState.Paused); 350 job.SetState(JobState.Waiting); 352 351 wcfService.UpdateJob(job); 353 352 } … … 373 372 } 374 373 Job cJob = jobs[jobId]; 375 cJob.State = JobState.Finished; // TODO: what if failed?376 374 cJob.ExecutionTime = engines[jobId].ExecutionTime; 377 375 … … 382 380 try { 383 381 ClientCom.LogMessage("Sending the finished job with id: " + jobId); 384 wcfService.UpdateJobData(cJob, sJob, ConfigManager.Instance.GetClientInfo().Id );382 wcfService.UpdateJobData(cJob, sJob, ConfigManager.Instance.GetClientInfo().Id, JobState.Finished); 385 383 SlaveStatusInfo.JobsProcessed++; 386 384 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/WcfService.cs ¶
r5599 r5636 49 49 public NetworkEnum.WcfConnState ConnState { get; private set; } 50 50 51 private WcfService() { 52 ConnState = NetworkEnum.WcfConnState.Disconnected; 53 } 54 55 #region Job Methods 56 public Job GetJob(Guid jobId) { 57 return CallHiveService(s => s.GetJob(jobId)); 58 } 59 60 public void UpdateJob(Job job) { 61 CallHiveService(s => s.UpdateJob(job)); 62 } 63 64 public Guid AddChildJob(Guid parentJobId, Job job, JobData jobData) { 65 return CallHiveService(s => s.AddChildJob(parentJobId, job, jobData)); 66 } 67 68 public IEnumerable<JobData> GetChildJobs(Guid? parentJobId) { 69 return CallHiveService(service => { 70 IEnumerable<LightweightJob> msg = service.GetLightweightChildJobs(parentJobId, false, false); 71 72 List<JobData> jobs = new List<JobData>(); 73 foreach (LightweightJob ljob in msg) 74 jobs.Add(service.GetJobData(ljob.Id)); 75 76 return jobs; 77 }); 78 } 79 80 public void DeleteChildJobs(Guid jobId) { 81 CallHiveService(s => s.DeleteChildJobs(jobId)); 82 } 83 #endregion 84 85 #region JobData Methods 86 public JobData GetJobData(Guid jobId) { 87 return CallHiveService(s => s.GetJobData(jobId)); 88 } 89 90 /// <summary> 91 /// Uploads the JobData and sets a new jobState (while correctly setting Transferring state) 92 /// </summary> 93 public void UpdateJobData(Job job, JobData jobData, Guid slaveId, JobState state) { 94 CallHiveService(service => { 95 service.UpdateJob(job); 96 job = service.UpdateJobState(job.Id, JobState.Transferring, slaveId, null, null); 97 service.UpdateJobData(job, jobData); 98 service.UpdateJobState(job.Id, state, slaveId, null, null); 99 }); 100 } 101 102 public Job UpdateJobState(Guid jobId, JobState jobState, string exception) { 103 return CallHiveService(s => s.UpdateJobState(jobId, jobState, ConfigManager.GetUniqueMachineId(), null, exception)); 104 } 105 #endregion 106 107 #region Heartbeat Methods 108 public List<MessageContainer> SendHeartbeat(Heartbeat heartbeat) { 109 return CallHiveService(s => s.Heartbeat(heartbeat)); 110 } 111 #endregion 112 113 #region Plugin Methods 114 public IEnumerable<Plugin> GetPlugins() { 115 return CallHiveService(s => s.GetPlugins()); 116 } 117 118 public IEnumerable<PluginData> GetPluginDatas(List<Guid> pluginIds) { 119 return CallHiveService(s => s.GetPluginDatas(pluginIds)); 120 } 121 #endregion 122 123 #region Events 51 124 public event EventHandler Connected; 52 125 private void OnConnected() { … … 60 133 if (handler != null) handler(this, new EventArgs<Exception>(e)); 61 134 } 135 #endregion 62 136 63 /// <summary> 64 /// Constructor 65 /// </summary> 66 private WcfService() { 67 ConnState = NetworkEnum.WcfConnState.Disconnected; 68 } 69 137 #region Helpers 70 138 /// <summary> 71 139 /// Connects with the Server, registers the events and fires the Connected (and quiet possibly the ConnectionRestored) Event. … … 99 167 } 100 168 101 /// <summary>102 /// Get a Job from the Server103 /// </summary>104 public Job GetJob(Guid jobId) {105 return CallHiveService(s => s.GetJob(jobId));106 }107 108 public JobData GetJobData(Guid jobId) {109 return CallHiveService(s => s.GetJobData(jobId));110 }111 112 public void UpdateJob(Job job) {113 CallHiveService(s => s.UpdateJob(job));114 }115 116 /// <summary>117 /// used on pause or if job finished to upload the job results118 /// </summary>119 /// <param name="job"></param>120 /// <param name="jobData"></param>121 public void UpdateJobData(Job job, JobData jobData, Guid slaveId) {122 CallHiveService(service => {123 JobState before = job.State;124 job.SetState(JobState.Transferring, slaveId, "");125 126 service.UpdateJob(job);127 128 service.UpdateJobData(job, jobData);129 130 job.SetState(before, slaveId, "");131 service.UpdateJob(job);132 });133 }134 135 public List<MessageContainer> SendHeartbeat(Heartbeat heartbeat) {136 return CallHiveService(s => s.Heartbeat(heartbeat));137 }138 139 public IEnumerable<PluginData> GetPluginDatas(List<Guid> pluginIds) {140 return CallHiveService(s => s.GetPluginDatas(pluginIds));141 }142 143 public IEnumerable<Plugin> GetPlugins() {144 return CallHiveService(s => s.GetPlugins());145 }146 147 public Guid AddChildJob(Guid parentJobId, Job job, JobData jobData) {148 return CallHiveService(s => s.AddChildJob(parentJobId, job, jobData));149 }150 151 public IEnumerable<JobData> GetChildJobs(Guid? parentJobId) {152 return CallHiveService(service => {153 IEnumerable<LightweightJob> msg = service.GetLightweightChildJobs(parentJobId, false, false);154 155 List<JobData> jobs = new List<JobData>();156 foreach (LightweightJob ljob in msg)157 jobs.Add(service.GetJobData(ljob.Id));158 159 return jobs;160 });161 }162 163 public void DeleteChildJobs(Guid jobId) {164 CallHiveService(s => s.DeleteChildJobs(jobId));165 }166 167 169 public void CallHiveService(Action<IHiveService> call) { 168 170 try { … … 183 185 } 184 186 } 187 #endregion 185 188 } 186 189 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/GanttChart.Designer.cs ¶
r5597 r5636 1 namespace HeuristicLab.Clients.Hive.Views .ExperimentManager{1 namespace HeuristicLab.Clients.Hive.Views { 2 2 partial class GanttChart { 3 3 /// <summary> … … 44 44 series1.ChartArea = "ChartArea1"; 45 45 series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.RangeBar; 46 series1.CustomProperties = "DrawingStyle=Cylinder"; 46 47 series1.IsVisibleInLegend = false; 47 48 series1.Legend = "Legend"; -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/GanttChart.cs ¶
r5597 r5636 2 2 using System.Collections.Generic; 3 3 using System.Drawing; 4 using System.Linq; 4 5 using System.Windows.Forms; 5 6 using System.Windows.Forms.DataVisualization.Charting; 6 7 7 namespace HeuristicLab.Clients.Hive.Views .ExperimentManager{8 namespace HeuristicLab.Clients.Hive.Views { 8 9 public partial class GanttChart : UserControl { 9 10 10 11 private IDictionary<string, Color> categories = new Dictionary<string, Color>(); 12 private IDictionary<string, int> rowNames = new Dictionary<string, int>(); 11 13 12 14 public GanttChart() { … … 19 21 } 20 22 21 public void AddData(int id, string category, DateTime start, DateTime end, string tooltip, bool showLabel = true) { 22 var point = CreateDataPoint(id, start, end, showLabel ? category : string.Empty, categories[category]); 23 public void AddData(string rowName, string category, DateTime start, DateTime end, string tooltip, bool showLabel = true) { 24 AddRowName(rowName); 25 var point = CreateDataPoint(rowNames[rowName], rowName, start, end, showLabel ? category : string.Empty, categories[category]); 23 26 point.ToolTip = tooltip; 24 27 chart.Series[0].Points.Add(point); 25 28 } 26 29 27 private static DataPoint CreateDataPoint(double x, DateTime start, DateTime end, string text, Color color) { 30 private void AddRowName(string rowName) { 31 if (!rowNames.ContainsKey(rowName)) { 32 int nextId = rowNames.Count == 0 ? 1 : rowNames.Values.Max() + 1; 33 rowNames.Add(rowName, nextId); 34 } 35 } 36 37 private static DataPoint CreateDataPoint(double x, string axisLabel, DateTime start, DateTime end, string text, Color color) { 28 38 var point = new DataPoint(x, new double[] { start.ToOADate(), end.ToOADate() }); 29 39 point.Color = color; 30 40 point.Label = text; 41 point.AxisLabel = axisLabel; 31 42 return point; 32 43 } … … 36 47 categories.Clear(); 37 48 chart.Legends[0].CustomItems.Clear(); 49 rowNames.Clear(); 38 50 } 39 51 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.cs ¶
r5597 r5636 135 135 this.exceptionTextBox.Text = Content.Job.CurrentStateLog.Exception; 136 136 if (Content.OptimizerJob.ComputeInParallel) { 137 this.stateLogViewHost.Content = new ItemList<StateLog ItemList>(138 this.Content.ChildHiveJobs.Select(child => new StateLog ItemList(child.Job.StateLog.Select(x => new StateLogItem(x)))137 this.stateLogViewHost.Content = new ItemList<StateLogList>( 138 this.Content.ChildHiveJobs.Select(child => new StateLogList(child.Job.StateLog) 139 139 )); 140 140 } else { 141 this.stateLogViewHost.Content = new StateLog ItemList(Content.Job.StateLog.Select(x => new StateLogItem(x)));141 this.stateLogViewHost.Content = new StateLogList(Content.Job.StateLog); 142 142 } 143 143 } else { -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/StateLogGanttChartListView.cs ¶
r5597 r5636 20 20 #endregion 21 21 22 using System; 22 23 using System.Drawing; 24 using System.Linq; 23 25 using HeuristicLab.Core; 24 26 using HeuristicLab.Core.Views; 25 27 using HeuristicLab.MainForm; 26 using HeuristicLab.Services.Hive.Common.DataTransfer;27 28 28 29 namespace HeuristicLab.Clients.Hive.Views { 29 30 [View("StateLogGanttChartList View")] 30 [Content(typeof(IItemList<StateLog ItemList>), IsDefaultView = true)]31 [Content(typeof(IItemList<StateLogList>), IsDefaultView = true)] 31 32 public sealed partial class StateLogGanttChartListView : ItemView { 32 public new IItemList<StateLog ItemList> Content {33 get { return (IItemList<StateLog ItemList>)base.Content; }33 public new IItemList<StateLogList> Content { 34 get { return (IItemList<StateLogList>)base.Content; } 34 35 set { base.Content = value; } 35 36 } … … 61 62 // Add code when content has been changed and is not null 62 63 ganttChart.Reset(); 63 ganttChart.AddCategory(JobState.Offline.ToString(), Color.Brown); 64 ganttChart.AddCategory(JobState.Waiting.ToString(), Color.Yellow); 65 ganttChart.AddCategory(JobState.Transferring.ToString(), Color.Blue); 66 ganttChart.AddCategory(JobState.Calculating.ToString(), Color.Green); 67 ganttChart.AddCategory(JobState.Finished.ToString(), Color.DarkGreen); 68 ganttChart.AddCategory(JobState.Aborted.ToString(), Color.Orange); 69 ganttChart.AddCategory(JobState.Failed.ToString(), Color.Red); 64 SetupCategories(ganttChart); 65 66 DateTime maxValue = Content.Max(x => x.Max(y => y.DateTime)); 67 var upperLimit = DateTime.FromOADate(Math.Min(DateTime.Now.AddSeconds(10).ToOADate(), maxValue.AddSeconds(10).ToOADate())); 70 68 71 69 for (int i = 0; i < Content.Count; i++) { 72 70 for (int j = 0; j < Content[i].Count - 1; j++) { 73 string tooltip = string.Format("State: {0}\n{1} - {2}", Content[i][j].State, Content[i][j].DateTime, Content[i][j+1].DateTime); 74 if (!string.IsNullOrEmpty(Content[i][j].Exception)) 75 tooltip += "\n" + Content[i][j].Exception; 76 ganttChart.AddData(i + 1, Content[i][j].State.ToString(), Content[i][j].DateTime, Content[i][j + 1].DateTime, tooltip, false); 71 if(Content[i][j].State != JobState.Offline && Content[i][j].State != JobState.Finished) 72 AddData(ganttChart, i.ToString(), Content[i][j], Content[i][j+1], upperLimit); 73 } 74 if(Content[i].Count > 0) { 75 AddData(ganttChart, i.ToString(), Content[i][Content[i].Count - 1], null, upperLimit); 77 76 } 78 77 } … … 80 79 } 81 80 81 public static void SetupCategories(GanttChart ganttChart) { 82 ganttChart.AddCategory(JobState.Offline.ToString(), Color.Gainsboro); 83 ganttChart.AddCategory(JobState.Waiting.ToString(), Color.NavajoWhite); 84 ganttChart.AddCategory(JobState.Transferring.ToString(), Color.CornflowerBlue); 85 ganttChart.AddCategory(JobState.Calculating.ToString(), Color.DarkGreen); 86 ganttChart.AddCategory(JobState.Finished.ToString(), Color.White); 87 ganttChart.AddCategory(JobState.Aborted.ToString(), Color.Orange); 88 ganttChart.AddCategory(JobState.Failed.ToString(), Color.Red); 89 } 90 91 //private void AddData(int i, int j, DateTime upperLimit) { 92 // DateTime until = j < Content[i].Count - 1 ? Content[i][j + 1].DateTime : upperLimit; 93 // TimeSpan duration = until - Content[i][j].DateTime; 94 // string tooltip = string.Format("State: {0}\nDuration: {1}\n{2} - {3}", Content[i][j].State, Content[i][j].DateTime, duration, until); 95 // if (!string.IsNullOrEmpty(Content[i][j].Exception)) 96 // tooltip += "\n" + Content[i][j].Exception; 97 // ganttChart.AddData(i + 1, Content[i][j].State.ToString(), Content[i][j].DateTime, until, tooltip, false); 98 //} 99 100 public static void AddData(GanttChart ganttChart, string name, StateLog from, StateLog to, DateTime upperLimit) { 101 DateTime until = to != null ? to.DateTime : upperLimit; 102 TimeSpan duration = until - from.DateTime; 103 string tooltip = string.Format("State: {0}\nDuration: {1}\n{2} - {3}", from.State, from.DateTime, duration, until); 104 if (!string.IsNullOrEmpty(from.Exception)) 105 tooltip += "\n" + from.Exception; 106 ganttChart.AddData(name, from.State.ToString(), from.DateTime, until, tooltip, false); 107 } 108 82 109 protected override void SetEnabledStateOfControls() { 83 110 base.SetEnabledStateOfControls(); -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/StateLogGanttChartListView.designer.cs ¶
r5597 r5636 24 24 /// </summary> 25 25 private void InitializeComponent() { 26 this.ganttChart = new HeuristicLab.Clients.Hive.Views. ExperimentManager.GanttChart();26 this.ganttChart = new HeuristicLab.Clients.Hive.Views.GanttChart(); 27 27 this.SuspendLayout(); 28 28 // … … 50 50 #endregion 51 51 52 private ExperimentManager.GanttChart ganttChart;52 private GanttChart ganttChart; 53 53 54 54 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/StateLogGanttChartView.cs ¶
r5597 r5636 20 20 #endregion 21 21 22 using System .Drawing;22 using System; 23 23 using HeuristicLab.Core.Views; 24 24 using HeuristicLab.MainForm; 25 using HeuristicLab.Services.Hive.Common.DataTransfer;26 25 27 26 namespace HeuristicLab.Clients.Hive.Views { 28 27 [View("StateLogGanttChart View")] 29 [Content(typeof(StateLog ItemList), IsDefaultView = false)]28 [Content(typeof(StateLogList), IsDefaultView = false)] 30 29 public sealed partial class StateLogGanttChartView : ItemView { 31 public new StateLog ItemList Content {32 get { return (StateLog ItemList)base.Content; }30 public new StateLogList Content { 31 get { return (StateLogList)base.Content; } 33 32 set { base.Content = value; } 34 33 } … … 60 59 // Add code when content has been changed and is not null 61 60 ganttChart.Reset(); 62 ganttChart.AddCategory(JobState.Offline.ToString(), Color.Brown); 63 ganttChart.AddCategory(JobState.Waiting.ToString(), Color.Yellow); 64 ganttChart.AddCategory(JobState.Transferring.ToString(), Color.Blue); 65 ganttChart.AddCategory(JobState.Calculating.ToString(), Color.Green); 66 ganttChart.AddCategory(JobState.Finished.ToString(), Color.DarkGreen); 67 ganttChart.AddCategory(JobState.Aborted.ToString(), Color.Orange); 68 ganttChart.AddCategory(JobState.Failed.ToString(), Color.Red); 61 StateLogGanttChartListView.SetupCategories(ganttChart); 62 var upperLimit = DateTime.Now.AddSeconds(10); 69 63 70 64 for (int i = 0; i < Content.Count-1; i++) { 71 string tooltip = string.Format("State: {0}\n{1} - {2}", Content[i].State, Content[i].DateTime, Content[i + 1].DateTime); 72 if (!string.IsNullOrEmpty(Content[i].Exception)) 73 tooltip += "\n" + Content[i].Exception; 74 ganttChart.AddData(0, Content[i].State.ToString(), Content[i].DateTime, Content[i + 1].DateTime, tooltip); 65 //string tooltip = string.Format("State: {0}\n{1} - {2}", Content[i].State, Content[i].DateTime, Content[i + 1].DateTime); 66 //if (!string.IsNullOrEmpty(Content[i].Exception)) 67 // tooltip += "\n" + Content[i].Exception; 68 //ganttChart.AddData(Content[i].State.ToString(), Content[i].State.ToString(), Content[i].DateTime, Content[i + 1].DateTime, tooltip, false); 69 StateLogGanttChartListView.AddData(ganttChart, i.ToString(), Content[i], Content[i+1], upperLimit); 75 70 } 71 StateLogGanttChartListView.AddData(ganttChart, (Content.Count - 1).ToString(), Content[Content.Count - 1], null, upperLimit); 76 72 } 77 73 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/StateLogGanttChartView.designer.cs ¶
r5597 r5636 24 24 /// </summary> 25 25 private void InitializeComponent() { 26 this.ganttChart = new HeuristicLab.Clients.Hive.Views. ExperimentManager.GanttChart();26 this.ganttChart = new HeuristicLab.Clients.Hive.Views.GanttChart(); 27 27 this.SuspendLayout(); 28 28 // … … 50 50 #endregion 51 51 52 private ExperimentManager.GanttChart ganttChart;52 private GanttChart ganttChart; 53 53 54 54 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/StateLogListView.cs ¶
r5597 r5636 25 25 26 26 namespace HeuristicLab.Clients.Hive.Views { 27 [View("StateLog ItemView")]28 [Content(typeof(IItemList<StateLog Item>), false)]29 public partial class StateLogListView : ItemListView<StateLog Item> {27 [View("StateLog View")] 28 [Content(typeof(IItemList<StateLog>), false)] 29 public partial class StateLogListView : ItemListView<StateLog> { 30 30 31 31 public StateLogListView() { … … 34 34 } 35 35 36 protected override StateLog ItemCreateItem() {36 protected override StateLog CreateItem() { 37 37 return null; 38 38 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/StateLogView.cs ¶
r5597 r5636 23 23 using HeuristicLab.Core.Views; 24 24 using HeuristicLab.MainForm; 25 using HeuristicLab.MainForm.WindowsForms; 25 26 26 27 namespace HeuristicLab.Clients.Hive.Views { 27 28 [View("StateLog View")] 28 [Content(typeof(StateLog Item), IsDefaultView = false)]29 [Content(typeof(StateLog), IsDefaultView = false)] 29 30 public sealed partial class StateLogView : ItemView { 30 public new StateLog ItemContent {31 get { return (StateLog Item)base.Content; }31 public new StateLog Content { 32 get { return (StateLog)base.Content; } 32 33 set { base.Content = value; } 33 34 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/HeuristicLab.Clients.Hive.Views-3.4.csproj ¶
r5599 r5636 150 150 <DependentUpon>StateLogGanttChartView.cs</DependentUpon> 151 151 </Compile> 152 <Compile Include="ExperimentManager\StateLog ItemList.cs" />152 <Compile Include="ExperimentManager\StateLogList.cs" /> 153 153 <Compile Include="ExperimentManager\StateLogListView.cs"> 154 154 <SubType>UserControl</SubType> -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/HiveExperimentManagerClient.cs ¶
r5599 r5636 93 93 } 94 94 currentlyUpdating = true; 95 progress.Status = "Populating HiveExperiment list..."; 95 96 IEnumerable<HiveExperiment> response = ServiceLocator.Instance.CallHiveService(s => s.GetHiveExperiments()); 96 progress.Status = "Populating HiveExperiment list...";97 97 RefreshExperimentList(response); 98 98 currentlyUpdating = false; -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/HeuristicLab.Clients.Hive-3.4.csproj ¶
r5614 r5636 127 127 <Compile Include="ExperimentManager\PluginClient.cs" /> 128 128 <Compile Include="Exceptions\ResourceNotFoundException.cs" /> 129 <Compile Include="ExperimentManager\StateLogItem.cs" />130 129 <Compile Include="IServiceLocator.cs" /> 131 130 <Compile Include="Jobs\OptimizerJob.cs" /> … … 143 142 <Compile Include="Exceptions\ServiceClientFactoryException.cs" /> 144 143 <Compile Include="ServiceClients\Appointment.cs" /> 144 <Compile Include="ServiceClients\HiveItem.cs" /> 145 145 <Compile Include="ServiceClients\Heartbeat.cs" /> 146 146 <Compile Include="ServiceClients\HiveExperimentPermission.cs" /> -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/GenerateServiceClients.cmd ¶
r5599 r5636 7 7 8 8 svcutil.exe ^ 9 http://localhost/Hive Service.svc?wsdl ^9 http://localhost/Hive-3.4/HiveService.svc?wsdl ^ 10 10 /out:HiveServiceClient ^ 11 11 /namespace:*,HeuristicLab.Clients.Hive ^ -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/HiveServiceClient.cs ¶
r5633 r5636 2 2 // <auto-generated> 3 3 // This code was generated by a tool. 4 // Runtime Version:4.0.30319. 14 // Runtime Version:4.0.30319.208 5 5 // 6 6 // Changes to this file may cause incorrect behavior and will be lost if … … 20 20 "nsfer")] 21 21 [System.SerializableAttribute()] 22 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Appointment))]23 22 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.LightweightJob))] 24 23 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.StateLog))] 25 24 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))] 26 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))]27 25 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.NamedHiveItem))] 28 26 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.HiveExperiment))] 29 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]30 27 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))] 31 28 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))] 32 29 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))] 30 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))] 31 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))] 32 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Appointment))] 33 33 public partial class HiveItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged 34 34 { … … 77 77 { 78 78 propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); 79 }80 }81 }82 83 [System.Diagnostics.DebuggerStepThroughAttribute()]84 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]85 [System.Runtime.Serialization.DataContractAttribute(Name="Appointment", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.Common.DataTra" +86 "nsfer")]87 [System.SerializableAttribute()]88 public partial class Appointment : HeuristicLab.Clients.Hive.HiveItem89 {90 91 [System.Runtime.Serialization.OptionalFieldAttribute()]92 private bool AllDayEventField;93 94 [System.Runtime.Serialization.OptionalFieldAttribute()]95 private System.DateTime EndDateField;96 97 [System.Runtime.Serialization.OptionalFieldAttribute()]98 private bool RecurringField;99 100 [System.Runtime.Serialization.OptionalFieldAttribute()]101 private System.Guid RecurringIdField;102 103 [System.Runtime.Serialization.OptionalFieldAttribute()]104 private System.Guid ResourceIdField;105 106 [System.Runtime.Serialization.OptionalFieldAttribute()]107 private System.DateTime StartDateField;108 109 [System.Runtime.Serialization.DataMemberAttribute()]110 public bool AllDayEvent111 {112 get113 {114 return this.AllDayEventField;115 }116 set117 {118 if ((this.AllDayEventField.Equals(value) != true))119 {120 this.AllDayEventField = value;121 this.RaisePropertyChanged("AllDayEvent");122 }123 }124 }125 126 [System.Runtime.Serialization.DataMemberAttribute()]127 public System.DateTime EndDate128 {129 get130 {131 return this.EndDateField;132 }133 set134 {135 if ((this.EndDateField.Equals(value) != true))136 {137 this.EndDateField = value;138 this.RaisePropertyChanged("EndDate");139 }140 }141 }142 143 [System.Runtime.Serialization.DataMemberAttribute()]144 public bool Recurring145 {146 get147 {148 return this.RecurringField;149 }150 set151 {152 if ((this.RecurringField.Equals(value) != true))153 {154 this.RecurringField = value;155 this.RaisePropertyChanged("Recurring");156 }157 }158 }159 160 [System.Runtime.Serialization.DataMemberAttribute()]161 public System.Guid RecurringId162 {163 get164 {165 return this.RecurringIdField;166 }167 set168 {169 if ((this.RecurringIdField.Equals(value) != true))170 {171 this.RecurringIdField = value;172 this.RaisePropertyChanged("RecurringId");173 }174 }175 }176 177 [System.Runtime.Serialization.DataMemberAttribute()]178 public System.Guid ResourceId179 {180 get181 {182 return this.ResourceIdField;183 }184 set185 {186 if ((this.ResourceIdField.Equals(value) != true))187 {188 this.ResourceIdField = value;189 this.RaisePropertyChanged("ResourceId");190 }191 }192 }193 194 [System.Runtime.Serialization.DataMemberAttribute()]195 public System.DateTime StartDate196 {197 get198 {199 return this.StartDateField;200 }201 set202 {203 if ((this.StartDateField.Equals(value) != true))204 {205 this.StartDateField = value;206 this.RaisePropertyChanged("StartDate");207 }208 79 } 209 80 } … … 580 451 [System.Diagnostics.DebuggerStepThroughAttribute()] 581 452 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] 582 [System.Runtime.Serialization.DataContractAttribute(Name="PluginData", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.Common.DataTra" +583 "nsfer")]584 [System.SerializableAttribute()]585 public partial class PluginData : HeuristicLab.Clients.Hive.HiveItem586 {587 588 [System.Runtime.Serialization.OptionalFieldAttribute()]589 private byte[] DataField;590 591 [System.Runtime.Serialization.OptionalFieldAttribute()]592 private string FileNameField;593 594 [System.Runtime.Serialization.OptionalFieldAttribute()]595 private System.Guid PluginIdField;596 597 [System.Runtime.Serialization.DataMemberAttribute()]598 public byte[] Data599 {600 get601 {602 return this.DataField;603 }604 set605 {606 if ((object.ReferenceEquals(this.DataField, value) != true))607 {608 this.DataField = value;609 this.RaisePropertyChanged("Data");610 }611 }612 }613 614 [System.Runtime.Serialization.DataMemberAttribute()]615 public string FileName616 {617 get618 {619 return this.FileNameField;620 }621 set622 {623 if ((object.ReferenceEquals(this.FileNameField, value) != true))624 {625 this.FileNameField = value;626 this.RaisePropertyChanged("FileName");627 }628 }629 }630 631 [System.Runtime.Serialization.DataMemberAttribute()]632 public System.Guid PluginId633 {634 get635 {636 return this.PluginIdField;637 }638 set639 {640 if ((this.PluginIdField.Equals(value) != true))641 {642 this.PluginIdField = value;643 this.RaisePropertyChanged("PluginId");644 }645 }646 }647 }648 649 [System.Diagnostics.DebuggerStepThroughAttribute()]650 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]651 453 [System.Runtime.Serialization.DataContractAttribute(Name="NamedHiveItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.Common.DataTra" + 652 454 "nsfer")] 653 455 [System.SerializableAttribute()] 654 456 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.HiveExperiment))] 655 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]656 457 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))] 657 458 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))] 658 459 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))] 460 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))] 659 461 public partial class NamedHiveItem : HeuristicLab.Clients.Hive.HiveItem 660 462 { … … 805 607 this.RootJobIdField = value; 806 608 this.RaisePropertyChanged("RootJobId"); 807 }808 }809 }810 }811 812 [System.Diagnostics.DebuggerStepThroughAttribute()]813 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]814 [System.Runtime.Serialization.DataContractAttribute(Name="Plugin", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.Common.DataTra" +815 "nsfer")]816 [System.SerializableAttribute()]817 public partial class Plugin : HeuristicLab.Clients.Hive.NamedHiveItem818 {819 820 [System.Runtime.Serialization.OptionalFieldAttribute()]821 private System.DateTime DateCreatedField;822 823 [System.Runtime.Serialization.OptionalFieldAttribute()]824 private bool IsLocalField;825 826 [System.Runtime.Serialization.OptionalFieldAttribute()]827 private System.Guid UserIdField;828 829 [System.Runtime.Serialization.OptionalFieldAttribute()]830 private System.Version VersionField;831 832 [System.Runtime.Serialization.DataMemberAttribute()]833 public System.DateTime DateCreated834 {835 get836 {837 return this.DateCreatedField;838 }839 set840 {841 if ((this.DateCreatedField.Equals(value) != true))842 {843 this.DateCreatedField = value;844 this.RaisePropertyChanged("DateCreated");845 }846 }847 }848 849 [System.Runtime.Serialization.DataMemberAttribute()]850 public bool IsLocal851 {852 get853 {854 return this.IsLocalField;855 }856 set857 {858 if ((this.IsLocalField.Equals(value) != true))859 {860 this.IsLocalField = value;861 this.RaisePropertyChanged("IsLocal");862 }863 }864 }865 866 [System.Runtime.Serialization.DataMemberAttribute()]867 public System.Guid UserId868 {869 get870 {871 return this.UserIdField;872 }873 set874 {875 if ((this.UserIdField.Equals(value) != true))876 {877 this.UserIdField = value;878 this.RaisePropertyChanged("UserId");879 }880 }881 }882 883 [System.Runtime.Serialization.DataMemberAttribute()]884 public System.Version Version885 {886 get887 {888 return this.VersionField;889 }890 set891 {892 if ((object.ReferenceEquals(this.VersionField, value) != true))893 {894 this.VersionField = value;895 this.RaisePropertyChanged("Version");896 609 } 897 610 } … … 1148 861 } 1149 862 863 [System.Diagnostics.DebuggerStepThroughAttribute()] 864 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] 865 [System.Runtime.Serialization.DataContractAttribute(Name="Plugin", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.Common.DataTra" + 866 "nsfer")] 867 [System.SerializableAttribute()] 868 public partial class Plugin : HeuristicLab.Clients.Hive.NamedHiveItem 869 { 870 871 [System.Runtime.Serialization.OptionalFieldAttribute()] 872 private System.DateTime DateCreatedField; 873 874 [System.Runtime.Serialization.OptionalFieldAttribute()] 875 private bool IsLocalField; 876 877 [System.Runtime.Serialization.OptionalFieldAttribute()] 878 private System.Guid UserIdField; 879 880 [System.Runtime.Serialization.OptionalFieldAttribute()] 881 private System.Version VersionField; 882 883 [System.Runtime.Serialization.DataMemberAttribute()] 884 public System.DateTime DateCreated 885 { 886 get 887 { 888 return this.DateCreatedField; 889 } 890 set 891 { 892 if ((this.DateCreatedField.Equals(value) != true)) 893 { 894 this.DateCreatedField = value; 895 this.RaisePropertyChanged("DateCreated"); 896 } 897 } 898 } 899 900 [System.Runtime.Serialization.DataMemberAttribute()] 901 public bool IsLocal 902 { 903 get 904 { 905 return this.IsLocalField; 906 } 907 set 908 { 909 if ((this.IsLocalField.Equals(value) != true)) 910 { 911 this.IsLocalField = value; 912 this.RaisePropertyChanged("IsLocal"); 913 } 914 } 915 } 916 917 [System.Runtime.Serialization.DataMemberAttribute()] 918 public System.Guid UserId 919 { 920 get 921 { 922 return this.UserIdField; 923 } 924 set 925 { 926 if ((this.UserIdField.Equals(value) != true)) 927 { 928 this.UserIdField = value; 929 this.RaisePropertyChanged("UserId"); 930 } 931 } 932 } 933 934 [System.Runtime.Serialization.DataMemberAttribute()] 935 public System.Version Version 936 { 937 get 938 { 939 return this.VersionField; 940 } 941 set 942 { 943 if ((object.ReferenceEquals(this.VersionField, value) != true)) 944 { 945 this.VersionField = value; 946 this.RaisePropertyChanged("Version"); 947 } 948 } 949 } 950 } 951 952 [System.Diagnostics.DebuggerStepThroughAttribute()] 953 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] 954 [System.Runtime.Serialization.DataContractAttribute(Name="PluginData", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.Common.DataTra" + 955 "nsfer")] 956 [System.SerializableAttribute()] 957 public partial class PluginData : HeuristicLab.Clients.Hive.HiveItem 958 { 959 960 [System.Runtime.Serialization.OptionalFieldAttribute()] 961 private byte[] DataField; 962 963 [System.Runtime.Serialization.OptionalFieldAttribute()] 964 private string FileNameField; 965 966 [System.Runtime.Serialization.OptionalFieldAttribute()] 967 private System.Guid PluginIdField; 968 969 [System.Runtime.Serialization.DataMemberAttribute()] 970 public byte[] Data 971 { 972 get 973 { 974 return this.DataField; 975 } 976 set 977 { 978 if ((object.ReferenceEquals(this.DataField, value) != true)) 979 { 980 this.DataField = value; 981 this.RaisePropertyChanged("Data"); 982 } 983 } 984 } 985 986 [System.Runtime.Serialization.DataMemberAttribute()] 987 public string FileName 988 { 989 get 990 { 991 return this.FileNameField; 992 } 993 set 994 { 995 if ((object.ReferenceEquals(this.FileNameField, value) != true)) 996 { 997 this.FileNameField = value; 998 this.RaisePropertyChanged("FileName"); 999 } 1000 } 1001 } 1002 1003 [System.Runtime.Serialization.DataMemberAttribute()] 1004 public System.Guid PluginId 1005 { 1006 get 1007 { 1008 return this.PluginIdField; 1009 } 1010 set 1011 { 1012 if ((this.PluginIdField.Equals(value) != true)) 1013 { 1014 this.PluginIdField = value; 1015 this.RaisePropertyChanged("PluginId"); 1016 } 1017 } 1018 } 1019 } 1020 1021 [System.Diagnostics.DebuggerStepThroughAttribute()] 1022 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] 1023 [System.Runtime.Serialization.DataContractAttribute(Name="Appointment", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.Common.DataTra" + 1024 "nsfer")] 1025 [System.SerializableAttribute()] 1026 public partial class Appointment : HeuristicLab.Clients.Hive.HiveItem 1027 { 1028 1029 [System.Runtime.Serialization.OptionalFieldAttribute()] 1030 private bool AllDayEventField; 1031 1032 [System.Runtime.Serialization.OptionalFieldAttribute()] 1033 private System.DateTime EndDateField; 1034 1035 [System.Runtime.Serialization.OptionalFieldAttribute()] 1036 private bool RecurringField; 1037 1038 [System.Runtime.Serialization.OptionalFieldAttribute()] 1039 private System.Guid RecurringIdField; 1040 1041 [System.Runtime.Serialization.OptionalFieldAttribute()] 1042 private System.Guid ResourceIdField; 1043 1044 [System.Runtime.Serialization.OptionalFieldAttribute()] 1045 private System.DateTime StartDateField; 1046 1047 [System.Runtime.Serialization.DataMemberAttribute()] 1048 public bool AllDayEvent 1049 { 1050 get 1051 { 1052 return this.AllDayEventField; 1053 } 1054 set 1055 { 1056 if ((this.AllDayEventField.Equals(value) != true)) 1057 { 1058 this.AllDayEventField = value; 1059 this.RaisePropertyChanged("AllDayEvent"); 1060 } 1061 } 1062 } 1063 1064 [System.Runtime.Serialization.DataMemberAttribute()] 1065 public System.DateTime EndDate 1066 { 1067 get 1068 { 1069 return this.EndDateField; 1070 } 1071 set 1072 { 1073 if ((this.EndDateField.Equals(value) != true)) 1074 { 1075 this.EndDateField = value; 1076 this.RaisePropertyChanged("EndDate"); 1077 } 1078 } 1079 } 1080 1081 [System.Runtime.Serialization.DataMemberAttribute()] 1082 public bool Recurring 1083 { 1084 get 1085 { 1086 return this.RecurringField; 1087 } 1088 set 1089 { 1090 if ((this.RecurringField.Equals(value) != true)) 1091 { 1092 this.RecurringField = value; 1093 this.RaisePropertyChanged("Recurring"); 1094 } 1095 } 1096 } 1097 1098 [System.Runtime.Serialization.DataMemberAttribute()] 1099 public System.Guid RecurringId 1100 { 1101 get 1102 { 1103 return this.RecurringIdField; 1104 } 1105 set 1106 { 1107 if ((this.RecurringIdField.Equals(value) != true)) 1108 { 1109 this.RecurringIdField = value; 1110 this.RaisePropertyChanged("RecurringId"); 1111 } 1112 } 1113 } 1114 1115 [System.Runtime.Serialization.DataMemberAttribute()] 1116 public System.Guid ResourceId 1117 { 1118 get 1119 { 1120 return this.ResourceIdField; 1121 } 1122 set 1123 { 1124 if ((this.ResourceIdField.Equals(value) != true)) 1125 { 1126 this.ResourceIdField = value; 1127 this.RaisePropertyChanged("ResourceId"); 1128 } 1129 } 1130 } 1131 1132 [System.Runtime.Serialization.DataMemberAttribute()] 1133 public System.DateTime StartDate 1134 { 1135 get 1136 { 1137 return this.StartDateField; 1138 } 1139 set 1140 { 1141 if ((this.StartDateField.Equals(value) != true)) 1142 { 1143 this.StartDateField = value; 1144 this.RaisePropertyChanged("StartDate"); 1145 } 1146 } 1147 } 1148 } 1149 1150 1150 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] 1151 1151 [System.Runtime.Serialization.DataContractAttribute(Name="JobState", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.Common.DataTra" + … … 1167 1167 1168 1168 [System.Runtime.Serialization.EnumMemberAttribute()] 1169 Finished = 4,1169 Paused = 4, 1170 1170 1171 1171 [System.Runtime.Serialization.EnumMemberAttribute()] 1172 Aborted = 5,1172 Finished = 5, 1173 1173 1174 1174 [System.Runtime.Serialization.EnumMemberAttribute()] 1175 Failed = 6, 1175 Aborted = 6, 1176 1177 [System.Runtime.Serialization.EnumMemberAttribute()] 1178 Failed = 7, 1176 1179 } 1177 1180 … … 1562 1565 { 1563 1566 1567 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateAppointment", ReplyAction="http://tempuri.org/IHiveService/UpdateAppointmentResponse")] 1568 void UpdateAppointment(HeuristicLab.Clients.Hive.Appointment appointment); 1569 1570 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetScheduleForResource", ReplyAction="http://tempuri.org/IHiveService/GetScheduleForResourceResponse")] 1571 System.Collections.Generic.List<HeuristicLab.Clients.Hive.Appointment> GetScheduleForResource(System.Guid resourceId); 1572 1573 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddJob", ReplyAction="http://tempuri.org/IHiveService/AddJobResponse")] 1574 System.Guid AddJob(HeuristicLab.Clients.Hive.Job job, HeuristicLab.Clients.Hive.JobData jobData, System.Collections.Generic.List<System.Guid> resourceIds); 1575 1576 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddChildJob", ReplyAction="http://tempuri.org/IHiveService/AddChildJobResponse")] 1577 System.Guid AddChildJob(System.Guid parentJobId, HeuristicLab.Clients.Hive.Job job, HeuristicLab.Clients.Hive.JobData jobData); 1578 1579 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetJob", ReplyAction="http://tempuri.org/IHiveService/GetJobResponse")] 1580 HeuristicLab.Clients.Hive.Job GetJob(System.Guid jobId); 1581 1582 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetJobs", ReplyAction="http://tempuri.org/IHiveService/GetJobsResponse")] 1583 System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs(); 1584 1585 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightJobs", ReplyAction="http://tempuri.org/IHiveService/GetLightweightJobsResponse")] 1586 System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightJob> GetLightweightJobs(System.Collections.Generic.List<System.Guid> jobIds); 1587 1588 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightChildJobs", ReplyAction="http://tempuri.org/IHiveService/GetLightweightChildJobsResponse")] 1589 System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightJob> GetLightweightChildJobs(System.Nullable<System.Guid> parentJobId, bool recursive, bool includeParent); 1590 1591 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetJobData", ReplyAction="http://tempuri.org/IHiveService/GetJobDataResponse")] 1592 HeuristicLab.Clients.Hive.JobData GetJobData(System.Guid jobId); 1593 1594 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateJob", ReplyAction="http://tempuri.org/IHiveService/UpdateJobResponse")] 1595 void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto); 1596 1597 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateJobData", ReplyAction="http://tempuri.org/IHiveService/UpdateJobDataResponse")] 1598 void UpdateJobData(HeuristicLab.Clients.Hive.Job jobDto, HeuristicLab.Clients.Hive.JobData jobDataDto); 1599 1600 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteJob", ReplyAction="http://tempuri.org/IHiveService/DeleteJobResponse")] 1601 void DeleteJob(System.Guid jobId); 1602 1603 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteChildJobs", ReplyAction="http://tempuri.org/IHiveService/DeleteChildJobsResponse")] 1604 void DeleteChildJobs(System.Guid parentJobId); 1605 1606 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateJobState", ReplyAction="http://tempuri.org/IHiveService/UpdateJobStateResponse")] 1607 HeuristicLab.Clients.Hive.Job UpdateJobState(System.Guid jobId, HeuristicLab.Clients.Hive.JobState jobState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception); 1608 1609 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/StopJob", ReplyAction="http://tempuri.org/IHiveService/StopJobResponse")] 1610 void StopJob(System.Guid jobId); 1611 1612 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/PauseJob", ReplyAction="http://tempuri.org/IHiveService/PauseJobResponse")] 1613 void PauseJob(System.Guid jobId); 1614 1615 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetHiveExperiment", ReplyAction="http://tempuri.org/IHiveService/GetHiveExperimentResponse")] 1616 HeuristicLab.Clients.Hive.HiveExperiment GetHiveExperiment(System.Guid id); 1617 1618 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetHiveExperiments", ReplyAction="http://tempuri.org/IHiveService/GetHiveExperimentsResponse")] 1619 System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetHiveExperiments(); 1620 1621 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetAllHiveExperiments", ReplyAction="http://tempuri.org/IHiveService/GetAllHiveExperimentsResponse")] 1622 System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetAllHiveExperiments(); 1623 1624 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddHiveExperiment", ReplyAction="http://tempuri.org/IHiveService/AddHiveExperimentResponse")] 1625 System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto); 1626 1627 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateHiveExperiment", ReplyAction="http://tempuri.org/IHiveService/UpdateHiveExperimentResponse")] 1628 void UpdateHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto); 1629 1630 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteHiveExperiment", ReplyAction="http://tempuri.org/IHiveService/DeleteHiveExperimentResponse")] 1631 void DeleteHiveExperiment(System.Guid hiveExperimentId); 1632 1633 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/Hello", ReplyAction="http://tempuri.org/IHiveService/HelloResponse")] 1634 void Hello(HeuristicLab.Clients.Hive.Slave slave); 1635 1636 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GoodBye", ReplyAction="http://tempuri.org/IHiveService/GoodByeResponse")] 1637 void GoodBye(System.Guid slaveId); 1638 1639 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/Heartbeat", ReplyAction="http://tempuri.org/IHiveService/HeartbeatResponse")] 1640 System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat([System.ServiceModel.MessageParameterAttribute(Name="heartbeat")] HeuristicLab.Clients.Hive.Heartbeat heartbeat1); 1641 1642 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddPlugin", ReplyAction="http://tempuri.org/IHiveService/AddPluginResponse")] 1643 System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData); 1644 1645 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetPlugins", ReplyAction="http://tempuri.org/IHiveService/GetPluginsResponse")] 1646 System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins(); 1647 1648 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetPluginDatas", ReplyAction="http://tempuri.org/IHiveService/GetPluginDatasResponse")] 1649 System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds); 1650 1651 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddSlave", ReplyAction="http://tempuri.org/IHiveService/AddSlaveResponse")] 1652 System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave); 1653 1654 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/AddSlaveGroupResponse")] 1655 System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup); 1656 1657 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlave", ReplyAction="http://tempuri.org/IHiveService/GetSlaveResponse")] 1658 HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId); 1659 1564 1660 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/GetSlaveGroupResponse")] 1565 1661 HeuristicLab.Clients.Hive.SlaveGroup GetSlaveGroup(System.Guid slaveGroupId); … … 1593 1689 1594 1690 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/TriggerLifecycle", ReplyAction="http://tempuri.org/IHiveService/TriggerLifecycleResponse")] 1595 void TriggerLifecycle( );1691 void TriggerLifecycle(bool force); 1596 1692 1597 1693 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddAppointment", ReplyAction="http://tempuri.org/IHiveService/AddAppointmentResponse")] … … 1600 1696 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteAppointment", ReplyAction="http://tempuri.org/IHiveService/DeleteAppointmentResponse")] 1601 1697 void DeleteAppointment(System.Guid appointmentId); 1602 1603 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateAppointment", ReplyAction="http://tempuri.org/IHiveService/UpdateAppointmentResponse")]1604 void UpdateAppointment(HeuristicLab.Clients.Hive.Appointment appointment);1605 1606 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetScheduleForResource", ReplyAction="http://tempuri.org/IHiveService/GetScheduleForResourceResponse")]1607 System.Collections.Generic.List<HeuristicLab.Clients.Hive.Appointment> GetScheduleForResource(System.Guid resourceId);1608 1609 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddJob", ReplyAction="http://tempuri.org/IHiveService/AddJobResponse")]1610 System.Guid AddJob(HeuristicLab.Clients.Hive.Job job, HeuristicLab.Clients.Hive.JobData jobData, System.Collections.Generic.List<System.Guid> resourceIds);1611 1612 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddChildJob", ReplyAction="http://tempuri.org/IHiveService/AddChildJobResponse")]1613 System.Guid AddChildJob(System.Guid parentJobId, HeuristicLab.Clients.Hive.Job job, HeuristicLab.Clients.Hive.JobData jobData);1614 1615 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetJob", ReplyAction="http://tempuri.org/IHiveService/GetJobResponse")]1616 HeuristicLab.Clients.Hive.Job GetJob(System.Guid jobId);1617 1618 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetJobs", ReplyAction="http://tempuri.org/IHiveService/GetJobsResponse")]1619 System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs();1620 1621 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightJobs", ReplyAction="http://tempuri.org/IHiveService/GetLightweightJobsResponse")]1622 System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightJob> GetLightweightJobs(System.Collections.Generic.List<System.Guid> jobIds);1623 1624 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightChildJobs", ReplyAction="http://tempuri.org/IHiveService/GetLightweightChildJobsResponse")]1625 System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightJob> GetLightweightChildJobs(System.Nullable<System.Guid> parentJobId, bool recursive, bool includeParent);1626 1627 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetJobData", ReplyAction="http://tempuri.org/IHiveService/GetJobDataResponse")]1628 HeuristicLab.Clients.Hive.JobData GetJobData(System.Guid jobId);1629 1630 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateJob", ReplyAction="http://tempuri.org/IHiveService/UpdateJobResponse")]1631 void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto);1632 1633 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateJobData", ReplyAction="http://tempuri.org/IHiveService/UpdateJobDataResponse")]1634 void UpdateJobData(HeuristicLab.Clients.Hive.Job jobDto, HeuristicLab.Clients.Hive.JobData jobDataDto);1635 1636 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteJob", ReplyAction="http://tempuri.org/IHiveService/DeleteJobResponse")]1637 void DeleteJob(System.Guid jobId);1638 1639 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteChildJobs", ReplyAction="http://tempuri.org/IHiveService/DeleteChildJobsResponse")]1640 void DeleteChildJobs(System.Guid parentJobId);1641 1642 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/StopJob", ReplyAction="http://tempuri.org/IHiveService/StopJobResponse")]1643 void StopJob(System.Guid jobId);1644 1645 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/PauseJob", ReplyAction="http://tempuri.org/IHiveService/PauseJobResponse")]1646 void PauseJob(System.Guid jobId);1647 1648 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetHiveExperiment", ReplyAction="http://tempuri.org/IHiveService/GetHiveExperimentResponse")]1649 HeuristicLab.Clients.Hive.HiveExperiment GetHiveExperiment(System.Guid id);1650 1651 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetHiveExperiments", ReplyAction="http://tempuri.org/IHiveService/GetHiveExperimentsResponse")]1652 System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetHiveExperiments();1653 1654 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetAllHiveExperiments", ReplyAction="http://tempuri.org/IHiveService/GetAllHiveExperimentsResponse")]1655 System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetAllHiveExperiments();1656 1657 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddHiveExperiment", ReplyAction="http://tempuri.org/IHiveService/AddHiveExperimentResponse")]1658 System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto);1659 1660 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateHiveExperiment", ReplyAction="http://tempuri.org/IHiveService/UpdateHiveExperimentResponse")]1661 void UpdateHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto);1662 1663 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteHiveExperiment", ReplyAction="http://tempuri.org/IHiveService/DeleteHiveExperimentResponse")]1664 void DeleteHiveExperiment(System.Guid hiveExperimentId);1665 1666 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/Hello", ReplyAction="http://tempuri.org/IHiveService/HelloResponse")]1667 void Hello(HeuristicLab.Clients.Hive.Slave slave);1668 1669 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GoodBye", ReplyAction="http://tempuri.org/IHiveService/GoodByeResponse")]1670 void GoodBye(System.Guid slaveId);1671 1672 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/Heartbeat", ReplyAction="http://tempuri.org/IHiveService/HeartbeatResponse")]1673 System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat([System.ServiceModel.MessageParameterAttribute(Name="heartbeat")] HeuristicLab.Clients.Hive.Heartbeat heartbeat1);1674 1675 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddPlugin", ReplyAction="http://tempuri.org/IHiveService/AddPluginResponse")]1676 System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData);1677 1678 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetPlugins", ReplyAction="http://tempuri.org/IHiveService/GetPluginsResponse")]1679 System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins();1680 1681 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetPluginDatas", ReplyAction="http://tempuri.org/IHiveService/GetPluginDatasResponse")]1682 System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds);1683 1684 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddSlave", ReplyAction="http://tempuri.org/IHiveService/AddSlaveResponse")]1685 System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave);1686 1687 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/AddSlaveGroupResponse")]1688 System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);1689 1690 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlave", ReplyAction="http://tempuri.org/IHiveService/GetSlaveResponse")]1691 HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId);1692 1698 } 1693 1699 … … 1726 1732 } 1727 1733 1734 public void UpdateAppointment(HeuristicLab.Clients.Hive.Appointment appointment) 1735 { 1736 base.Channel.UpdateAppointment(appointment); 1737 } 1738 1739 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Appointment> GetScheduleForResource(System.Guid resourceId) 1740 { 1741 return base.Channel.GetScheduleForResource(resourceId); 1742 } 1743 1744 public System.Guid AddJob(HeuristicLab.Clients.Hive.Job job, HeuristicLab.Clients.Hive.JobData jobData, System.Collections.Generic.List<System.Guid> resourceIds) 1745 { 1746 return base.Channel.AddJob(job, jobData, resourceIds); 1747 } 1748 1749 public System.Guid AddChildJob(System.Guid parentJobId, HeuristicLab.Clients.Hive.Job job, HeuristicLab.Clients.Hive.JobData jobData) 1750 { 1751 return base.Channel.AddChildJob(parentJobId, job, jobData); 1752 } 1753 1754 public HeuristicLab.Clients.Hive.Job GetJob(System.Guid jobId) 1755 { 1756 return base.Channel.GetJob(jobId); 1757 } 1758 1759 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs() 1760 { 1761 return base.Channel.GetJobs(); 1762 } 1763 1764 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightJob> GetLightweightJobs(System.Collections.Generic.List<System.Guid> jobIds) 1765 { 1766 return base.Channel.GetLightweightJobs(jobIds); 1767 } 1768 1769 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightJob> GetLightweightChildJobs(System.Nullable<System.Guid> parentJobId, bool recursive, bool includeParent) 1770 { 1771 return base.Channel.GetLightweightChildJobs(parentJobId, recursive, includeParent); 1772 } 1773 1774 public HeuristicLab.Clients.Hive.JobData GetJobData(System.Guid jobId) 1775 { 1776 return base.Channel.GetJobData(jobId); 1777 } 1778 1779 public void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto) 1780 { 1781 base.Channel.UpdateJob(jobDto); 1782 } 1783 1784 public void UpdateJobData(HeuristicLab.Clients.Hive.Job jobDto, HeuristicLab.Clients.Hive.JobData jobDataDto) 1785 { 1786 base.Channel.UpdateJobData(jobDto, jobDataDto); 1787 } 1788 1789 public void DeleteJob(System.Guid jobId) 1790 { 1791 base.Channel.DeleteJob(jobId); 1792 } 1793 1794 public void DeleteChildJobs(System.Guid parentJobId) 1795 { 1796 base.Channel.DeleteChildJobs(parentJobId); 1797 } 1798 1799 public HeuristicLab.Clients.Hive.Job UpdateJobState(System.Guid jobId, HeuristicLab.Clients.Hive.JobState jobState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception) 1800 { 1801 return base.Channel.UpdateJobState(jobId, jobState, slaveId, userId, exception); 1802 } 1803 1804 public void StopJob(System.Guid jobId) 1805 { 1806 base.Channel.StopJob(jobId); 1807 } 1808 1809 public void PauseJob(System.Guid jobId) 1810 { 1811 base.Channel.PauseJob(jobId); 1812 } 1813 1814 public HeuristicLab.Clients.Hive.HiveExperiment GetHiveExperiment(System.Guid id) 1815 { 1816 return base.Channel.GetHiveExperiment(id); 1817 } 1818 1819 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetHiveExperiments() 1820 { 1821 return base.Channel.GetHiveExperiments(); 1822 } 1823 1824 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetAllHiveExperiments() 1825 { 1826 return base.Channel.GetAllHiveExperiments(); 1827 } 1828 1829 public System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto) 1830 { 1831 return base.Channel.AddHiveExperiment(hiveExperimentDto); 1832 } 1833 1834 public void UpdateHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto) 1835 { 1836 base.Channel.UpdateHiveExperiment(hiveExperimentDto); 1837 } 1838 1839 public void DeleteHiveExperiment(System.Guid hiveExperimentId) 1840 { 1841 base.Channel.DeleteHiveExperiment(hiveExperimentId); 1842 } 1843 1844 public void Hello(HeuristicLab.Clients.Hive.Slave slave) 1845 { 1846 base.Channel.Hello(slave); 1847 } 1848 1849 public void GoodBye(System.Guid slaveId) 1850 { 1851 base.Channel.GoodBye(slaveId); 1852 } 1853 1854 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat(HeuristicLab.Clients.Hive.Heartbeat heartbeat1) 1855 { 1856 return base.Channel.Heartbeat(heartbeat1); 1857 } 1858 1859 public System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData) 1860 { 1861 return base.Channel.AddPlugin(plugin, pluginData); 1862 } 1863 1864 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins() 1865 { 1866 return base.Channel.GetPlugins(); 1867 } 1868 1869 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds) 1870 { 1871 return base.Channel.GetPluginDatas(pluginIds); 1872 } 1873 1874 public System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave) 1875 { 1876 return base.Channel.AddSlave(slave); 1877 } 1878 1879 public System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup) 1880 { 1881 return base.Channel.AddSlaveGroup(slaveGroup); 1882 } 1883 1884 public HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId) 1885 { 1886 return base.Channel.GetSlave(slaveId); 1887 } 1888 1728 1889 public HeuristicLab.Clients.Hive.SlaveGroup GetSlaveGroup(System.Guid slaveGroupId) 1729 1890 { … … 1776 1937 } 1777 1938 1778 public void TriggerLifecycle( )1779 { 1780 base.Channel.TriggerLifecycle( );1939 public void TriggerLifecycle(bool force) 1940 { 1941 base.Channel.TriggerLifecycle(force); 1781 1942 } 1782 1943 … … 1790 1951 base.Channel.DeleteAppointment(appointmentId); 1791 1952 } 1792 1793 public void UpdateAppointment(HeuristicLab.Clients.Hive.Appointment appointment)1794 {1795 base.Channel.UpdateAppointment(appointment);1796 }1797 1798 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Appointment> GetScheduleForResource(System.Guid resourceId)1799 {1800 return base.Channel.GetScheduleForResource(resourceId);1801 }1802 1803 public System.Guid AddJob(HeuristicLab.Clients.Hive.Job job, HeuristicLab.Clients.Hive.JobData jobData, System.Collections.Generic.List<System.Guid> resourceIds)1804 {1805 return base.Channel.AddJob(job, jobData, resourceIds);1806 }1807 1808 public System.Guid AddChildJob(System.Guid parentJobId, HeuristicLab.Clients.Hive.Job job, HeuristicLab.Clients.Hive.JobData jobData)1809 {1810 return base.Channel.AddChildJob(parentJobId, job, jobData);1811 }1812 1813 public HeuristicLab.Clients.Hive.Job GetJob(System.Guid jobId)1814 {1815 return base.Channel.GetJob(jobId);1816 }1817 1818 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs()1819 {1820 return base.Channel.GetJobs();1821 }1822 1823 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightJob> GetLightweightJobs(System.Collections.Generic.List<System.Guid> jobIds)1824 {1825 return base.Channel.GetLightweightJobs(jobIds);1826 }1827 1828 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightJob> GetLightweightChildJobs(System.Nullable<System.Guid> parentJobId, bool recursive, bool includeParent)1829 {1830 return base.Channel.GetLightweightChildJobs(parentJobId, recursive, includeParent);1831 }1832 1833 public HeuristicLab.Clients.Hive.JobData GetJobData(System.Guid jobId)1834 {1835 return base.Channel.GetJobData(jobId);1836 }1837 1838 public void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto)1839 {1840 base.Channel.UpdateJob(jobDto);1841 }1842 1843 public void UpdateJobData(HeuristicLab.Clients.Hive.Job jobDto, HeuristicLab.Clients.Hive.JobData jobDataDto)1844 {1845 base.Channel.UpdateJobData(jobDto, jobDataDto);1846 }1847 1848 public void DeleteJob(System.Guid jobId)1849 {1850 base.Channel.DeleteJob(jobId);1851 }1852 1853 public void DeleteChildJobs(System.Guid parentJobId)1854 {1855 base.Channel.DeleteChildJobs(parentJobId);1856 }1857 1858 public void StopJob(System.Guid jobId)1859 {1860 base.Channel.StopJob(jobId);1861 }1862 1863 public void PauseJob(System.Guid jobId)1864 {1865 base.Channel.PauseJob(jobId);1866 }1867 1868 public HeuristicLab.Clients.Hive.HiveExperiment GetHiveExperiment(System.Guid id)1869 {1870 return base.Channel.GetHiveExperiment(id);1871 }1872 1873 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetHiveExperiments()1874 {1875 return base.Channel.GetHiveExperiments();1876 }1877 1878 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetAllHiveExperiments()1879 {1880 return base.Channel.GetAllHiveExperiments();1881 }1882 1883 public System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto)1884 {1885 return base.Channel.AddHiveExperiment(hiveExperimentDto);1886 }1887 1888 public void UpdateHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto)1889 {1890 base.Channel.UpdateHiveExperiment(hiveExperimentDto);1891 }1892 1893 public void DeleteHiveExperiment(System.Guid hiveExperimentId)1894 {1895 base.Channel.DeleteHiveExperiment(hiveExperimentId);1896 }1897 1898 public void Hello(HeuristicLab.Clients.Hive.Slave slave)1899 {1900 base.Channel.Hello(slave);1901 }1902 1903 public void GoodBye(System.Guid slaveId)1904 {1905 base.Channel.GoodBye(slaveId);1906 }1907 1908 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat(HeuristicLab.Clients.Hive.Heartbeat heartbeat1)1909 {1910 return base.Channel.Heartbeat(heartbeat1);1911 }1912 1913 public System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData)1914 {1915 return base.Channel.AddPlugin(plugin, pluginData);1916 }1917 1918 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins()1919 {1920 return base.Channel.GetPlugins();1921 }1922 1923 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds)1924 {1925 return base.Channel.GetPluginDatas(pluginIds);1926 }1927 1928 public System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave)1929 {1930 return base.Channel.AddSlave(slave);1931 }1932 1933 public System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup)1934 {1935 return base.Channel.AddSlaveGroup(slaveGroup);1936 }1937 1938 public HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId)1939 {1940 return base.Channel.GetSlave(slaveId);1941 }1942 1953 } 1943 1954 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/DataTransfer/JobState.cs ¶
r5526 r5636 54 54 55 55 /// <summary> 56 /// Job is paused, will not be picked up by slaves 57 /// </summary> 58 Paused, 59 60 /// <summary> 56 61 /// Job as finished and is ready to be collected by the Client 57 62 /// </summary> -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/DataTransfer/LightweightJob.cs ¶
r5614 r5636 53 53 this.State = job.State; 54 54 } 55 56 57 public void SetState(JobState state) {58 this.State = state;59 this.StateLog.Add(new StateLog() { State = state, DateTime = DateTime.Now });60 }61 62 public void SetState(JobState state, Guid userId) {63 this.State = state;64 this.StateLog.Add(new StateLog() { State = state, DateTime = DateTime.Now, UserId = userId });65 }66 67 public void SetState(JobState state, Guid slaveId, string exception) {68 this.State = state;69 this.StateLog.Add(new StateLog() { State = state, DateTime = DateTime.Now, SlaveId = slaveId, Exception = exception });70 }71 55 } 72 56 } -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/HeuristicLab.Services.Hive.Common-3.4.csproj ¶
r5614 r5636 124 124 <None Include="HeuristicLab.snk" /> 125 125 </ItemGroup> 126 <ItemGroup> 127 <Folder Include="obj\" /> 128 </ItemGroup> 126 129 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 127 130 <PropertyGroup> -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/ServiceContracts/IHiveService.cs ¶
r5633 r5636 43 43 [OperationContract] 44 44 void DeleteChildJobs(Guid parentJobId); 45 46 [OperationContract] 47 Job UpdateJobState(Guid jobId, JobState jobState, Guid? slaveId, Guid? userId, string exception); 45 48 #endregion 46 49 … … 143 146 144 147 [OperationContract] 145 void TriggerLifecycle( );148 void TriggerLifecycle(bool force); 146 149 #endregion 147 150 -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.4/HiveDao.cs ¶
r5633 r5636 126 126 } 127 127 } 128 129 public DT.Job UpdateJobState(Guid jobId, JobState jobState, Guid? slaveId, Guid? userId, string exception) { 130 using (var db = CreateContext()) { 131 var job = db.Jobs.SingleOrDefault(x => x.JobId == jobId); 132 job.State = jobState; 133 db.StateLogs.InsertOnSubmit(new StateLog { 134 JobId = jobId, 135 State = jobState, 136 SlaveId = slaveId, 137 UserId = userId, 138 Exception = exception, 139 DateTime = DateTime.Now 140 }); 141 db.SubmitChanges(); 142 job = db.Jobs.SingleOrDefault(x => x.JobId == jobId); 143 return Convert.ToDto(job); 144 } 145 } 128 146 #endregion 129 147 -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.4/Interfaces/IHiveDao.cs ¶
r5633 r5636 16 16 IEnumerable<DT.Job> GetWaitingJobs(DT.Slave slave, int count); 17 17 IEnumerable<DT.Job> GetParentJobs(IEnumerable<Guid> resourceIds, int count, bool finished); 18 DT.Job UpdateJobState(Guid jobId, JobState jobState, Guid? slaveId, Guid? userId, string exception); 18 19 #endregion 19 20 -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/DaoTests.cs ¶
r5526 r5636 28 28 29 29 DT.Job job1 = new DT.Job(); 30 job1.SetState(JobState.Offline, Guid.NewGuid()); 30 job1.State = JobState.Offline; 31 job1.StateLog.Add(new DT.StateLog { State = JobState.Offline, DateTime = DateTime.Now }); 31 32 32 33 DT.Plugin plugin1 = new DT.Plugin(); … … 69 70 70 71 // test jobstates 71 job1.S etState(JobState.Transferring); Thread.Sleep(10);72 job1.S etState(JobState.Calculating); Thread.Sleep(10);73 job1.S etState(JobState.Transferring); Thread.Sleep(10);74 job1.S etState(JobState.Finished); Thread.Sleep(10);72 job1.StateLog.Add(new DT.StateLog { State = JobState.Transferring, DateTime = DateTime.Now }); Thread.Sleep(10); 73 job1.StateLog.Add(new DT.StateLog { State = JobState.Calculating, DateTime = DateTime.Now }); Thread.Sleep(10); 74 job1.StateLog.Add(new DT.StateLog { State = JobState.Transferring, DateTime = DateTime.Now }); Thread.Sleep(10); 75 job1.StateLog.Add(new DT.StateLog { State = JobState.Finished, DateTime = DateTime.Now }); Thread.Sleep(10); 75 76 dao.UpdateJob(job1); 76 77 … … 170 171 171 172 DT.Job job = new DT.Job(); 172 job.SetState(JobState.Offline, Guid.NewGuid()); 173 job.State = JobState.Offline; 174 job.StateLog.Add(new DT.StateLog { State = JobState.Offline, DateTime = DateTime.Now }); 173 175 job.Id = dao.AddJob(job); 174 176 -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/ServiceTests.cs ¶
r5593 r5636 61 61 Priority = 0 62 62 }; 63 job.SetState(JobState.Offline); 63 job.State = JobState.Offline; 64 job.StateLog.Add(new StateLog { State = JobState.Offline, DateTime = DateTime.Now }); 64 65 65 66 DT.JobData jobData = new DT.JobData() { … … 135 136 Assert.AreEqual(JobState.Transferring, jobLoaded.State); 136 137 138 // slave is responsible for updating state to 'Calculating' 139 service.UpdateJobState(jobLoaded.Id, JobState.Calculating, slave.Id, null, null); 140 137 141 // send progress 138 142 var progress = new Dictionary<Guid, TimeSpan>(); … … 183 187 FinishWhenChildJobsFinished = true 184 188 }; 185 parentJob.SetState(JobState.Offline); 189 parentJob.State = JobState.Offline; 190 parentJob.StateLog.Add(new StateLog { State = JobState.Offline, DateTime = DateTime.Now }); 186 191 187 192 DT.JobData parentJobData = new DT.JobData() { Data = new byte[0] }; … … 193 198 Priority = 0 194 199 }; 195 parentJob.SetState(JobState.Offline); 200 childJob.State = JobState.Offline; 201 childJob.StateLog.Add(new StateLog { State = JobState.Offline, DateTime = DateTime.Now }); 196 202 197 203 DT.JobData childJobData = new DT.JobData() { Data = new byte[1000] }; … … 241 247 242 248 // lifecycle - let it process one server-heartbeat; the parent job must NOT be set to finished 243 service.TriggerLifecycle( );249 service.TriggerLifecycle(true); 244 250 245 251 parentJobLoaded = service.GetJob(parentJob.Id); … … 247 253 248 254 // set child job to finished 249 childJobLoaded.SetState(JobState.Finished, slave.Id, ""); 250 service.UpdateJob(childJobLoaded); 255 childJobLoaded = service.UpdateJobState(childJobLoaded.Id, JobState.Finished, slave.Id, null, null); 251 256 252 257 // lifecycle - let it process one server-heartbeat; this should set the parent job to finished 253 service.TriggerLifecycle( );258 service.TriggerLifecycle(true); 254 259 255 260 // test if parent job is finished -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/HeartbeatManager.cs ¶
r5511 r5636 53 53 54 54 private void AssignJob(Slave slave, Job job) { 55 job.SetState(JobState.Transferring, slave.Id, ""); 56 dao.UpdateJob(job); 55 dao.UpdateJobState(job.Id, JobState.Transferring, slave.Id, null, null); 57 56 dao.UpdateSlave(slave); 58 57 } … … 88 87 // a request to abort the job has been set 89 88 actions.Add(new MessageContainer(MessageContainer.MessageType.AbortJob, curJob.Id)); 90 } else if (curJob.State != JobState.Calculating) {91 // jobstate was 'Transferring' before, now calculating92 curJob.SetState(JobState.Calculating, heartbeat.SlaveId, "");93 89 } 94 90 dao.UpdateJob(curJob); -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/HiveService.cs ¶
r5633 r5636 36 36 public Guid AddJob(Job job, JobData jobData, IEnumerable<Guid> resourceIds) { 37 37 using (trans.OpenTransaction()) { 38 job.SetState(JobState.Waiting, auth.UserId);39 38 job.Id = dao.AddJob(job); 40 39 jobData.JobId = job.Id; … … 48 47 } 49 48 dao.AddJobData(jobData); 49 dao.UpdateJobState(job.Id, JobState.Waiting, null, auth.UserId, null); 50 50 return jobData.JobId; 51 51 } … … 135 135 } 136 136 137 // [PrincipalPermission(SecurityAction.Demand, Role = HiveRoles.Administrator)] 138 // [PrincipalPermission(SecurityAction.Demand, Role = HiveRoles.Client)] 139 // [PrincipalPermission(SecurityAction.Demand, Role = HiveRoles.Slave)] 140 public Job UpdateJobState(Guid jobId, JobState jobState, Guid? slaveId, Guid? userId, string exception) { 141 using (trans.OpenTransaction()) { 142 return dao.UpdateJobState(jobId, jobState, slaveId, userId, exception); 143 } 144 } 137 145 #endregion 138 146 … … 235 243 // [PrincipalPermission(SecurityAction.Demand, Role = HiveRoles.Slave)] 236 244 public List<MessageContainer> Heartbeat(Heartbeat heartbeat) { 237 TriggerLifecycle( );245 TriggerLifecycle(false); 238 246 239 247 using (trans.OpenTransaction()) { … … 391 399 } 392 400 393 public void TriggerLifecycle( ) {401 public void TriggerLifecycle(bool force) { 394 402 using (trans.OpenTransaction()) { 395 403 DateTime lastCleanup = dao.GetLastCleanup(); 396 if ( DateTime.Now - lastCleanup > TimeSpan.FromSeconds(59)) {404 if (force || DateTime.Now - lastCleanup > TimeSpan.FromSeconds(59)) { 397 405 dao.SetLastCleanup(DateTime.Now); 398 406 lifecycleManager.Cleanup(); -
TabularUnified branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/LifecycleManager.cs ¶
r5593 r5636 48 48 var parentJobsToFinish = dao.GetParentJobs(dao.GetResources(x => true).Select(x => x.Id), 0, true); 49 49 foreach (var job in parentJobsToFinish) { 50 job.SetState(JobState.Finished); 51 dao.UpdateJob(job); 50 dao.UpdateJobState(job.Id, JobState.Finished, null, null, string.Empty); 52 51 } 53 52 }
Note: See TracChangeset
for help on using the changeset viewer.