/// <summary> /// Get Execution state by execution ID /// </summary> static public void Terminate(String executionId) { if (ExecutionQueues.ContainsKey(executionId)) { ExecutionQueues[executionId].Terminate(); } }
/// <summary> /// Get Execution state by execution ID /// </summary> static public ThreadExecutionState GetExecutionState(String executionId) { if (ExecutionQueues.ContainsKey(executionId)) { return(ExecutionQueues[executionId].ExecutionState); } else { return(null); } }
static void Enqueue(ThreadExecution x) { if (!ExecutionQueues.ContainsKey(x.ID)) { ExecutionQueues[x.ID] = new ThreadExecutionQueue(x.ID); } bool start = ExecutionQueues[x.ID].Count == 0; ExecutionQueues[x.ID].Enqueue(x); if (start) { ExecutionQueues[x.ID].Start(); } }
static public bool CanEnqueue(String executionId) { return(!ExecutionQueues.ContainsKey(executionId) || ExecutionQueues[executionId].Count < MaxQueueSize); }
static public bool IsEmpty(String executionId) { return(!ExecutionQueues.ContainsKey(executionId) || ExecutionQueues[executionId].Count == 0); }