Exemplo n.º 1
0
 public void DropTask()
 {
     _inProgress.Clear();
     var c = new SlaveNodeClient(_connection);
     c.DropTask();
     Event(NodeTaskStatus.Halt);
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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;
     }
 }
Exemplo n.º 4
0
 public void Enqueue(string[] subTaskKeys)
 {
     var c = new SlaveNodeClient(_connection);
     c.EnqueueToTask(subTaskKeys);
     LastActiveDate = DateTime.Now;
 }
Exemplo n.º 5
0
 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;
 }
Exemplo n.º 6
0
 public void Init(Connection masterConnect, Dictionary<string, ulong> mainFileList)
 {
     var c = new SlaveNodeClient(_connection);
     c.InitTask(masterConnect, mainFileList);
     Event(NodeTaskStatus.Initing);
 }