NewTask(Executor& executor, YACS::ENGINE::Task* yacsTask);
const WorkloadManager::ContainerType& type()const override;
void run(const WorkloadManager::RunInfo& runInfo)override;
+ bool isAccepted(const WorkloadManager::Resource& r)override;
private:
WorkloadManager::ContainerType _type;
Executor& _executor;
delete this; // provisoire
}
-void Executor::newRun(Scheduler *graph,int debug, bool fromScratch)
+bool NewTask::isAccepted(const WorkloadManager::Resource& r)
{
- DEBTRACE("Executor::newRun debug: "<< graph->getName() <<" "<< debug<<" fromScratch: "<<fromScratch);
+ Container * yacsContainer = _yacsTask->getContainer();
+ std::string hostname = yacsContainer->getProperty("hostname");
+ bool accept = true;
+ if(!hostname.empty())
+ accept = (hostname == r.name);
+ return accept;
+}
+
+void Executor::runWlm(Scheduler *graph,int debug, bool fromScratch)
+{
+ DEBTRACE("Executor::runWlm debug: "<< graph->getName() <<" "<< debug<<" fromScratch: "<<fromScratch);
{ // --- Critical section
YACS::BASES::AutoLocker<YACS::BASES::Mutex> alck(&_mutexForSchedulerUpdate);
_mainSched = graph;
|| str_value == "WORKLOADMANAGER"
|| str_value == "workloadmanager"
|| str_value == "WorkLoadManager")
- newRun(graph, debug, fromScratch);
+ runWlm(graph, debug, fromScratch);
else
RunB(graph, debug, fromScratch);
}