public void DropTask() { _inProgress.Clear(); var c = new SlaveNodeClient(_connection); c.DropTask(); Event(NodeTaskStatus.Halt); }
public void DropSubTasks(HashSet<string> subTaskKeys) { var st = _inProgress.Where(subTaskKeys.Contains).ToArray(); if(st.Length > 0) { var c = new SlaveNodeClient(_connection); c.DequeueFromTask(st); } LastActiveDate = DateTime.Now; }
public bool Ping() { try { var c = new SlaveNodeClient(null, Connection); IsPinged = c.IsStarted(); if (NodeName == null || IsPinged == false) { NodeInfo = c.GetNodeInfo(); NodeName = NodeInfo.NodeName; } NextPingDate = DateTime.Now + _normalDelay; Trace.TraceInformation("node " + NodeName + " succesfully pinged"); return true; } catch { SetHalted(); return false; } }
public void Enqueue(string[] subTaskKeys) { var c = new SlaveNodeClient(_connection); c.EnqueueToTask(subTaskKeys); LastActiveDate = DateTime.Now; }
public List<SubTaskResult> ReturnCompletedResults() { var ret = new List<SubTaskResult>(); var n = new SlaveNodeClient(_connection); var b = n.IsStarted(); //var s = n.IsStarted(); //var i = n.GetStatus(); SubTaskResult[] tmp; do { tmp = n.ReturnCompletedResults(); #if DEBUG foreach (var r1 in ret) { if (r1 == null) throw new Exception("logic error!"); } #endif Returned(tmp); ret.AddRange(tmp); } while (tmp.Length == Constants.MaxWCFArrayLength); return ret; }
public void Init(Connection masterConnect, Dictionary<string, ulong> mainFileList) { var c = new SlaveNodeClient(_connection); c.InitTask(masterConnect, mainFileList); Event(NodeTaskStatus.Initing); }