public void EndTask(string nodeName, EndTaskArg arg, NodeCommunicatorCallBack <EndTaskArg> callback) { this.SendRequest("endtask", this.GetCallbackUri(nodeName, "taskcompleted"), nodeName, async(content, ex) => { Exception readEx = null; try { if (content != null && ex == null) { arg.TaskInfo = await content.ReadAsAsync <ComputeClusterTaskInformation>(); } } catch (Exception e) { this.Tracer.TraceError("Exception while read the task info {0}", e); readEx = e; } if (ex != null && readEx != null) { ex = new AggregateException(ex, readEx); } else { ex = ex ?? readEx; } callback(nodeName, arg, ex); }, arg); }
public void StartTask(string nodeName, StartTaskArg arg, ProcessStartInfo startInfo, NodeCommunicatorCallBack <StartTaskArg> callback) { this.SendRequest("starttask", this.GetCallbackUri(nodeName, "taskcompleted"), nodeName, async(content, ex) => { await Task.Yield(); callback(nodeName, arg, ex); }, Tuple.Create(arg, startInfo)); }
public void StartJobAndTaskExtendedData(string nodeName, StartJobAndTaskArg arg, string userName, string password, string extendedData, ProcessStartInfo startInfo, NodeCommunicatorCallBack <StartJobAndTaskArg> callback) { string privateKey = null, publicKey = null; if (extendedData != null) { try { XDocument xDoc = XDocument.Parse(extendedData); var privateKeyNode = xDoc.Descendants("PrivateKey").FirstOrDefault(); var publicKeyNode = xDoc.Descendants("PublicKey").FirstOrDefault(); if (privateKeyNode != null) { privateKey = privateKeyNode.Value; } if (publicKeyNode != null) { publicKey = publicKeyNode.Value; } } catch (Exception ex) { this.Tracer.TraceWarning("Error parsing extended data {0}, ex {1}", extendedData, ex); } } if (IsAdmin(userName, password)) { startInfo.EnvironmentVariables["CCP_ISADMIN"] = "1"; } this.SendRequest("startjobandtask", this.GetCallbackUri(nodeName, "taskcompleted"), nodeName, async(content, ex) => { await Task.Yield(); callback(nodeName, arg, ex); }, Tuple.Create(arg, startInfo, userName, password, privateKey, publicKey)); }
public void StartJobAndTaskSoftCardCred(string nodeName, StartJobAndTaskArg arg, string userName, string password, byte[] certificate, ProcessStartInfo startInfo, NodeCommunicatorCallBack <StartJobAndTaskArg> callback) { this.SendRequest("startjobandtask", this.GetCallbackUri(nodeName, "taskcompleted"), nodeName, async(content, ex) => { await Task.Yield(); callback(nodeName, arg, ex); }, Tuple.Create(arg, startInfo, userName, password, certificate)); }
public void StartJobAndTask(string nodeName, StartJobAndTaskArg arg, string userName, string password, ProcessStartInfo startInfo, NodeCommunicatorCallBack <StartJobAndTaskArg> callback) { if (IsAdmin(userName, password)) { startInfo.EnvironmentVariables["CCP_ISADMIN"] = "1"; } this.SendRequest("startjobandtask", this.GetCallbackUri(nodeName, "taskcompleted"), nodeName, async(content, ex) => { await Task.Yield(); callback(nodeName, arg, ex); }, Tuple.Create(arg, startInfo, userName, password)); }