Salome HOME
Generate an error when no resource can run a task with the workload manager.
[modules/yacs.git] / src / engine / Executor.cxx
index f16453f4f4e65cef63650db3557d643068afe146..b68289d6ddecabeec972170ac3448a8e0fce34be 100644 (file)
@@ -1509,6 +1509,17 @@ void Executor::endTask(Task *task, YACS::Event ev)
     wakeUp();
 }
 
+void Executor::failTask(Task *task, const std::string& message)
+{
+  ElementaryNode* elemNode = dynamic_cast<ElementaryNode*>(task);
+  if(elemNode != nullptr)
+  {
+    StateLoader(elemNode, YACS::ERROR);
+    elemNode->setErrorDetails(message);
+  }
+  endTask(task, YACS::ABORT);
+}
+
 YACS::Event  Executor::runTask(Task *task)
 {
   { // --- Critical section