public static ItemTask LoadItemJob(Guid jobId) { TaskData taskData = HiveServiceLocator.Instance.CallHiveService(s => s.GetTaskData(jobId)); try { return(PersistenceUtil.Deserialize <ItemTask>(taskData.Data)); } catch { return(null); } }
public HiveTask(Task task, TaskData taskData, bool autoCreateChildHiveTasks) { this.syncTasksWithOptimizers = autoCreateChildHiveTasks; this.Task = task; try { this.ItemTask = PersistenceUtil.Deserialize <ItemTask>(taskData.Data); } catch { this.ItemTask = null; } this.childHiveTasks = new ItemList <HiveTask>(); this.syncTasksWithOptimizers = true; RegisterChildHiveTasksEvents(); }
protected Tuple <Task, T> DeserializeTask(Tuple <Task, TaskData> taskData) { deserializeSemaphore.WaitOne(); try { if (abort || taskData.Item2 == null || taskData.Item1 == null) { return(null); } var deserializedJob = PersistenceUtil.Deserialize <T>(taskData.Item2.Data); taskData.Item2.Data = null; // reduce memory consumption. return(new Tuple <Task, T>(taskData.Item1, deserializedJob)); } finally { deserializeSemaphore.Release(); } }