Search in sources :

Example 21 with Script

use of org.ow2.proactive.scripting.Script in project scheduling by ow2-proactive.

the class ProbabilisticSelectionManagerTest method testIncreasingProbabilityStatic.

@Test
public void testIncreasingProbabilityStatic() throws Exception {
    int nbNodes = 10;
    SelectionScript script = new SelectionScript("test", "groovy", false);
    ManagerObjects managerObjects = new ManagerObjects(nbNodes).invoke();
    SelectionManager selectionManager = managerObjects.getSelectionManager();
    ArrayList<RMNode> freeNodes = managerObjects.getFreeNodes();
    for (int i = 0; i < nbNodes; i++) {
        // we increase the probability for each node, but it should not change the result for static scripts
        for (int j = 0; j < i + 1; j++) {
            selectionManager.processScriptResult(script, Collections.EMPTY_MAP, new ScriptResult<>(true), freeNodes.get(i));
        }
    }
    List<RMNode> arrangedNodes = selectionManager.arrangeNodesForScriptExecution(freeNodes, Collections.singletonList(script), Collections.EMPTY_MAP);
    // nodes are expected to be sorted in initial order
    for (int i = 0; i < nbNodes; i++) {
        Assert.assertEquals("mocked-node-" + (i + 1), arrangedNodes.get(i).getNodeName());
        Assert.assertTrue(selectionManager.isPassed(script, Collections.EMPTY_MAP, arrangedNodes.get(i)));
    }
}
Also used : SelectionManager(org.ow2.proactive.resourcemanager.selection.SelectionManager) SelectionScript(org.ow2.proactive.scripting.SelectionScript) RMNode(org.ow2.proactive.resourcemanager.rmnode.RMNode) SelectionManagerTest(org.ow2.proactive.resourcemanager.selection.SelectionManagerTest) Test(org.junit.Test)

Example 22 with Script

use of org.ow2.proactive.scripting.Script in project scheduling by ow2-proactive.

the class TestScriptTask method forkedTasks.

private void forkedTasks() throws Throwable {
    TaskFlowJob job = (TaskFlowJob) StaxJobFactory.getFactory().createJob(new File(jobDescriptor.toURI()).getAbsolutePath());
    JobId id = schedulerHelper.submitJob(job);
    schedulerHelper.waitForEventJobFinished(id);
    JobResult jobResult = schedulerHelper.getJobResult(id);
    // Hello Work script task
    TaskResult simpleTaskResult = jobResult.getResult("simple");
    assertEquals(true, simpleTaskResult.value());
    assertTrue(simpleTaskResult.getOutput().getAllLogs(false).contains("hello"));
    // return binding should be used as task result
    TaskResult returnTaskResult = jobResult.getResult("return");
    assertEquals("42", returnTaskResult.value().toString());
    // results binding should be avaible in dependent tasks
    TaskResult resultFromDependentTaskTaskResult = jobResult.getResult("results_from_dependent_task");
    assertEquals("42", resultFromDependentTaskTaskResult.value().toString());
    // pas properties are exposed in the script task
    TaskResult propertiesTaskResult = jobResult.getResult("properties");
    String logs = propertiesTaskResult.getOutput().getAllLogs(false);
    assertThat(logs, containsString("PA_JOB_ID=" + jobResult.getJobId().value()));
    assertThat(logs, containsString("PA_JOB_NAME=" + jobResult.getName()));
    assertThat(logs, containsString("PA_TASK_ID=" + propertiesTaskResult.getTaskId().value()));
    assertThat(logs, containsString("PA_TASK_NAME=" + propertiesTaskResult.getTaskId().getReadableName()));
    assertThat(logs, containsString("PA_TASK_ITERATION=0"));
    assertThat(logs, containsString("PA_TASK_REPLICATION=0"));
    // the script can be a file
    TaskResult fileTaskResult = jobResult.getResult("file");
    assertTrue(fileTaskResult.getOutput().getAllLogs(false).contains("Beginning of clean script"));
    TaskResult fileAndArgsTaskResult = jobResult.getResult("file_and_args");
    assertTrue(fileAndArgsTaskResult.getOutput().getAllLogs(false).contains("My_Magic_Arg"));
    // dataspaces binding should be available
    TaskResult dataspacesTaskResult = jobResult.getResult("dataspaces");
    String dataspacesLogs = dataspacesTaskResult.getOutput().getAllLogs(false);
    System.out.println(dataspacesLogs);
    String schedulerHome = System.getProperty("pa.scheduler.home");
    assertTrue(dataspacesLogs.contains("global=" + schedulerHome));
    assertTrue(dataspacesLogs.contains("user=" + schedulerHome));
    assertTrue(dataspacesLogs.contains("input=" + schedulerHome));
    assertTrue(dataspacesLogs.contains("output=" + schedulerHome));
    TaskResult multiNodeTaskResult = jobResult.getResult("multi-node");
    String mnLogs = multiNodeTaskResult.getOutput().getAllLogs(false);
    assertTrue("Invalid binding for nodesurl", mnLogs.contains("nodesurl=" + (SchedulerStartForFunctionalTest.RM_NODE_NUMBER - 1)));
    // script task should be forked by default, ie it will not kill the scheduler on system.exit
    JobState jobState = schedulerHelper.getSchedulerInterface().getJobState(id);
    TaskResult killJVMTaskResult = jobResult.getResult("killJVM");
    assertTrue(killJVMTaskResult.getException() instanceof ForkedJvmProcessException);
    TaskState killJVMTaskState = jobState.getHMTasks().get(killJVMTaskResult.getTaskId());
    assertEquals(TaskStatus.FAULTY, killJVMTaskState.getStatus());
}
Also used : ForkedJvmProcessException(org.ow2.proactive.scheduler.task.exceptions.ForkedJvmProcessException) JobResult(org.ow2.proactive.scheduler.common.job.JobResult) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob) TaskResult(org.ow2.proactive.scheduler.common.task.TaskResult) JobState(org.ow2.proactive.scheduler.common.job.JobState) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) File(java.io.File) TaskState(org.ow2.proactive.scheduler.common.task.TaskState) JobId(org.ow2.proactive.scheduler.common.job.JobId)

Example 23 with Script

use of org.ow2.proactive.scripting.Script in project scheduling by ow2-proactive.

the class TestUnauthorizedScripts method testUnAuthorizedSelectionScripts.

@Test
public void testUnAuthorizedSelectionScripts() throws Exception {
    Job job = createJobSelection(unauthorizedSelectionScriptContent);
    JobId id = schedulerHelper.submitJob(job);
    Thread.sleep(10000);
    File selectionOut = new File(folder.getRoot().getAbsolutePath(), "selection.out");
    Assert.assertFalse("File created by the unauthorized selection script should NOT exist", selectionOut.exists());
    Assert.assertEquals(JobStatus.PENDING, schedulerHelper.getSchedulerInterface().getJobState(id).getStatus());
    schedulerHelper.getSchedulerInterface().killJob(id);
}
Also used : Job(org.ow2.proactive.scheduler.common.job.Job) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob) File(java.io.File) JobId(org.ow2.proactive.scheduler.common.job.JobId) Test(org.junit.Test)

Example 24 with Script

use of org.ow2.proactive.scripting.Script in project scheduling by ow2-proactive.

the class TestJobFactory method run_.

private void run_(String impl) throws Throwable {
    String scriptFolder = new File(getClass().getResource("scripts/").toURI()).getAbsolutePath();
    System.setProperty("jobName", "Job_TaskFlow");
    log("Test Job TASK_FLOW");
    TaskFlowJob tfJob = getJob(jobTaskFlowDescriptor, impl, scriptFolder);
    // Check job properties
    assertEquals("No paquit in its HostName.", tfJob.getDescription());
    assertEquals("Job_TaskFlow", tfJob.getName());
    assertEquals("My_project", tfJob.getProjectName());
    assertEquals(JobPriority.HIGH, tfJob.getPriority());
    assertEquals(OnTaskError.CANCEL_JOB, tfJob.getOnTaskErrorProperty().getValue());
    assertEquals(2, tfJob.getMaxNumberOfExecution());
    assertEquals(RestartMode.ELSEWHERE, tfJob.getRestartTaskOnError());
    assertEquals(JobType.TASKSFLOW, tfJob.getType());
    assertEquals(4, tfJob.getTasks().size());
    assertEquals("input/space", tfJob.getInputSpace());
    assertEquals("output/space", tfJob.getOutputSpace());
    // Check task 1 properties
    Task task1 = tfJob.getTask("task1");
    assertEquals("task1", task1.getName());
    // The job factory overwrites the task settings with the job settings if they are set to none.
    assertEquals(OnTaskError.NONE, task1.getOnTaskErrorProperty().getValue());
    assertEquals(false, task1.isPreciousResult());
    assertEquals(RestartMode.ANYWHERE, task1.getRestartTaskOnError());
    assertEquals(1, task1.getMaxNumberOfExecution());
    assertEquals("Parallel Tasks - Task 1", task1.getDescription());
    assertEquals(2, task1.getSelectionScripts().size());
    assertEquals(false, task1.getSelectionScripts().get(0).isDynamic());
    Assert.assertTrue(task1.getSelectionScripts().get(0).getScript() != null);
    assertEquals(1, task1.getSelectionScripts().get(0).getParameters().length);
    assertEquals("paquit", task1.getSelectionScripts().get(0).getParameters()[0]);
    assertEquals(true, task1.getSelectionScripts().get(1).isDynamic());
    Assert.assertTrue(task1.getSelectionScripts().get(1).getScript() != null);
    assertEquals(2, task1.getSelectionScripts().get(1).getParameters().length);
    assertEquals("test1", task1.getSelectionScripts().get(1).getParameters()[0]);
    assertEquals("test2", task1.getSelectionScripts().get(1).getParameters()[1]);
    Assert.assertTrue(task1.getPreScript().getScript().contains("Beginning of Pre-Script"));
    Assert.assertTrue(task1.getPostScript().getScript().contains("Content is equals to " + scriptFolder + "/unset.js"));
    assertNull(task1.getPostScript().getParameters());
    Assert.assertTrue(task1.getCleaningScript().getScript().contains("Beginning of clean script"));
    assertNull(task1.getCleaningScript().getParameters());
    assertEquals(null, task1.getDependencesList());
    assertEquals(1, task1.getNumberOfNodesNeeded());
    assertEquals(12 * 1000, task1.getWallTime());
    assertEquals(true, task1.isWallTimeSet());
    assertEquals(0, task1.getGenericInformation().size());
    assertNull(task1.getInputFilesList());
    assertNull(task1.getOutputFilesList());
    assertEquals("1", ((JavaTask) task1).getArgument("sleepTime"));
    assertEquals("1", ((JavaTask) task1).getArgument("number"));
    assertEquals("org.ow2.proactive.scheduler.examples.WaitAndPrint", ((JavaTask) task1).getExecutableClassName());
    // Now whether the task is executed in a forked JVM, it's specified by the parameter fork and runasme, instead of forkEnvironment or walltime, since 3.12.
    assertEquals(null, task1.isFork());
    assertEquals(null, task1.getForkEnvironment());
    // Check task 2 properties
    Task task2 = tfJob.getTask("task2");
    assertEquals("task2", task2.getName());
    assertEquals(OnTaskError.NONE, task2.getOnTaskErrorProperty().getValue());
    // the following commented check fails, it is what we expect, because replacement is done in the internal factory.
    // it avoids complex changes during user job creation process.
    // this property is tested in the TestDatabaseCRUD
    // Assert.assertEquals(tfJob.getTask("task2").isCancelJobOnError(),true);
    assertEquals(false, task2.isPreciousResult());
    assertEquals(RestartMode.ELSEWHERE, task2.getRestartTaskOnError());
    assertEquals(2, task2.getMaxNumberOfExecution());
    assertEquals("Parallel Tasks - Task 2", task2.getDescription());
    assertEquals(null, task2.getSelectionScripts());
    Assert.assertTrue(task2.getPreScript().getScript().contains("Beginning of Pre-Script"));
    assertEquals(null, task2.getPostScript());
    assertEquals(null, task2.getCleaningScript());
    assertEquals(null, task2.getDependencesList());
    assertEquals(1, task2.getNumberOfNodesNeeded());
    assertEquals(0, task2.getWallTime());
    assertEquals(false, task2.isWallTimeSet());
    assertEquals(0, task2.getGenericInformation().size());
    Assert.assertTrue(task2.getInputFilesList().get(0).getInputFiles().getIncludes().contains("tata*"));
    Assert.assertTrue(task2.getInputFilesList().get(0).getInputFiles().getExcludes().contains("tata*1"));
    assertEquals(InputAccessMode.TransferFromInputSpace, task2.getInputFilesList().get(0).getMode());
    Assert.assertTrue(task2.getInputFilesList().get(1).getInputFiles().getIncludes().contains("toto*.txt"));
    Assert.assertTrue(task2.getInputFilesList().get(1).getInputFiles().getExcludes().contains("toto*2.txt"));
    assertEquals(InputAccessMode.TransferFromOutputSpace, task2.getInputFilesList().get(1).getMode());
    Assert.assertTrue(task2.getOutputFilesList().get(0).getOutputFiles().getIncludes().contains("titi*"));
    Assert.assertTrue(task2.getOutputFilesList().get(0).getOutputFiles().getExcludes().contains("titi*1"));
    assertEquals(OutputAccessMode.TransferToOutputSpace, task2.getOutputFilesList().get(0).getMode());
    Assert.assertTrue(task2.getOutputFilesList().get(1).getOutputFiles().getIncludes().contains("titi*.txt"));
    Assert.assertTrue(task2.getOutputFilesList().get(1).getOutputFiles().getExcludes().contains("titi*3.txt"));
    assertEquals(OutputAccessMode.TransferToOutputSpace, task2.getOutputFilesList().get(1).getMode());
    assertEquals("12", ((JavaTask) task2).getArgument("sleepTime"));
    assertEquals("21", ((JavaTask) task2).getArgument("number"));
    assertEquals("/bin/java/jdk1.5", ((JavaTask) task2).getArgument("test"));
    assertEquals("org.ow2.proactive.scheduler.examples.WaitAndPrint", ((JavaTask) task2).getExecutableClassName());
    // Now whether the task is executed in a forked JVM, it's specified by the parameter fork and runasme, instead of forkEnvironment or walltime, since 3.12.
    assertEquals(null, task2.isFork());
    assertEquals(false, task2.isWallTimeSet());
    assertEquals("/bin/java/jdk1.5", task2.getForkEnvironment().getJavaHome());
    assertEquals("/bin/java/jdk1.5/toto", task2.getForkEnvironment().getWorkingDir());
    assertEquals("-dparam=12", task2.getForkEnvironment().getJVMArguments().get(0));
    assertEquals("-djhome=/bin/java/jdk1.5", task2.getForkEnvironment().getJVMArguments().get(1));
    Map<String, String> props = task2.getForkEnvironment().getSystemEnvironment();
    assertEquals(2, props.size());
    assertEquals("ioi", props.get("toto"));
    assertEquals("456", props.get("tata"));
    assertEquals("ioi", task2.getForkEnvironment().getSystemEnvironmentVariable("toto"));
    assertEquals("456", task2.getForkEnvironment().getSystemEnvironmentVariable("tata"));
    List<String> addcp = task2.getForkEnvironment().getAdditionalClasspath();
    assertEquals(2, addcp.size());
    assertEquals("a", addcp.get(0));
    assertEquals("b", addcp.get(1));
    Assert.assertNotNull(task2.getForkEnvironment().getEnvScript());
    // Check task 3 properties
    Task task3 = tfJob.getTask("task3");
    assertEquals("task3", task3.getName());
    assertEquals(OnTaskError.NONE, task3.getOnTaskErrorProperty().getValue());
    // the following commented check fails, it is what we expect, because replacement is done in the
    // internal factory.
    // it avoids complex changes during user job creation process.
    // this property is tested in the TestDatabaseCRUD
    // Assert.assertEquals(tfJob.getTask("task3").isCancelJobOnError(),true);
    assertEquals(false, task3.isPreciousResult());
    // the following commented check fails, it is what we expect, because replacement is done in the
    // internal factory.
    // it avoids complex changes during user job creation process.
    // this property is tested in the TestDatabaseCRUD
    // Assert.assertEquals(tfJob.getTask("task3").getRestartTaskOnError(),RestartMode.ELSEWHERE);
    // the following commented check fails, it is what we expect, because replacement is done in the internal factory.
    // it avoids complex changes during user job creation process.
    // this property is tested in the TestDatabaseCRUD
    // Assert.assertEquals(tfJob.getTask("task3").getMaxNumberOfExecution(),2);
    assertEquals("Dependent Tasks - Task 3", task3.getDescription());
    assertEquals(null, task3.getSelectionScripts());
    assertEquals(null, task3.getPreScript());
    Assert.assertTrue(task3.getPostScript().getScript().contains("Unsetting system property user.property1"));
    assertNull(task3.getPostScript().getParameters());
    assertEquals(null, task3.getCleaningScript());
    assertEquals(2, task3.getDependencesList().size());
    assertEquals("task1", task3.getDependencesList().get(0).getName());
    assertEquals("task2", task3.getDependencesList().get(1).getName());
    assertEquals(10 * 60 * 1000 + 53 * 1000, task3.getWallTime());
    assertEquals(true, task3.isWallTimeSet());
    assertEquals(0, task3.getGenericInformation().size());
    assertEquals(1, task3.getInputFilesList().size());
    Assert.assertTrue(task3.getInputFilesList().get(0).getInputFiles().getIncludes().contains("tata*"));
    Assert.assertTrue(task3.getInputFilesList().get(0).getInputFiles().getExcludes().isEmpty());
    assertEquals(InputAccessMode.none, task3.getInputFilesList().get(0).getMode());
    assertNull(task3.getOutputFilesList());
    assertEquals(5, ((NativeTask) task3).getCommandLine().length);
    assertEquals("1", ((NativeTask) task3).getCommandLine()[1]);
    assertEquals("2 2", ((NativeTask) task3).getCommandLine()[2]);
    assertEquals("3", ((NativeTask) task3).getCommandLine()[3]);
    assertEquals("12", ((NativeTask) task3).getCommandLine()[4]);
    assertNull(((NativeTask) task3).getWorkingDir());
    assertEquals(3, task3.getNumberOfNodesNeeded());
    // Check task 4 properties
    Task task4 = tfJob.getTask("task4");
    assertEquals("task4", task4.getName());
    assertEquals(OnTaskError.CANCEL_JOB, task4.getOnTaskErrorProperty().getValue());
    assertEquals(true, task4.isPreciousResult());
    assertEquals(RestartMode.ANYWHERE, task4.getRestartTaskOnError());
    assertEquals(3, task4.getMaxNumberOfExecution());
    assertEquals(null, task4.getDescription());
    assertEquals(null, task4.getSelectionScripts());
    assertEquals(null, task4.getPreScript());
    assertEquals(null, task4.getPostScript());
    assertEquals(null, task4.getCleaningScript());
    assertEquals(1, task4.getDependencesList().size());
    assertEquals("task3", task4.getDependencesList().get(0).getName());
    assertEquals(0, task4.getWallTime());
    assertEquals(false, task4.isWallTimeSet());
    assertEquals("v11", task4.getGenericInformation().get("n11"));
    assertEquals("v22", task4.getGenericInformation().get("n22"));
    assertNull(task4.getInputFilesList());
    assertEquals(5, task4.getOutputFilesList().size());
    Assert.assertTrue(task4.getOutputFilesList().get(0).getOutputFiles().getIncludes().contains("a"));
    Assert.assertTrue(task4.getOutputFilesList().get(1).getOutputFiles().getIncludes().contains("b"));
    Assert.assertTrue(task4.getOutputFilesList().get(2).getOutputFiles().getIncludes().contains("c"));
    Assert.assertTrue(task4.getOutputFilesList().get(3).getOutputFiles().getIncludes().contains("d"));
    Assert.assertTrue(task4.getOutputFilesList().get(4).getOutputFiles().getIncludes().contains("e"));
    Assert.assertTrue(task4.getOutputFilesList().get(0).getOutputFiles().getExcludes().contains("f"));
    Assert.assertTrue(task4.getOutputFilesList().get(1).getOutputFiles().getExcludes().contains("g"));
    Assert.assertTrue(task4.getOutputFilesList().get(2).getOutputFiles().getExcludes().isEmpty());
    Assert.assertTrue(task4.getOutputFilesList().get(3).getOutputFiles().getExcludes().contains("h"));
    Assert.assertTrue(task4.getOutputFilesList().get(4).getOutputFiles().getExcludes().contains("i"));
    assertEquals(OutputAccessMode.TransferToOutputSpace, task4.getOutputFilesList().get(0).getMode());
    assertEquals(OutputAccessMode.none, task4.getOutputFilesList().get(1).getMode());
    assertEquals(OutputAccessMode.none, task4.getOutputFilesList().get(2).getMode());
    assertEquals(OutputAccessMode.TransferToOutputSpace, task4.getOutputFilesList().get(3).getMode());
    assertEquals(OutputAccessMode.none, task4.getOutputFilesList().get(4).getMode());
    assertEquals(null, ((NativeTask) task4).getWorkingDir());
    assertEquals(10, task4.getNumberOfNodesNeeded());
    log("Test Job MULTI_NODES");
    TaskFlowJob mnJob = getJob(jobMultiNodesDescriptor, impl, scriptFolder);
    // Check job properties
    assertEquals("", mnJob.getDescription());
    assertEquals("job_multiNodes", mnJob.getName());
    assertEquals(JobPriority.LOW, mnJob.getPriority());
    assertEquals(OnTaskError.NONE, mnJob.getOnTaskErrorProperty().getValue());
    assertEquals(1, mnJob.getMaxNumberOfExecution());
    assertEquals(RestartMode.ANYWHERE, mnJob.getRestartTaskOnError());
    assertEquals(JobType.TASKSFLOW, mnJob.getType());
    assertEquals("v1", mnJob.getGenericInformation().get("n1"));
    assertEquals("v2", mnJob.getGenericInformation().get("n2"));
    // Check task properties
    JavaTask jt = (JavaTask) mnJob.getTask("Controller");
    assertEquals("100", jt.getArgument("numberToFind"));
    assertEquals(OnTaskError.NONE, jt.getOnTaskErrorProperty().getValue());
    assertEquals(null, jt.getCleaningScript());
    assertEquals(null, jt.getDependencesList());
    assertEquals("Will control the workers in order to find the prime number", jt.getDescription());
    assertEquals("org.ow2.proactive.scheduler.examples.MultiNodeExample", jt.getExecutableClassName());
    assertEquals("v11", jt.getGenericInformation().get("n11"));
    assertEquals("v22", jt.getGenericInformation().get("n22"));
    assertEquals(1, jt.getMaxNumberOfExecution());
    assertEquals("Controller", jt.getName());
    assertEquals(3, jt.getNumberOfNodesNeeded());
    assertEquals(null, jt.getPreScript());
    assertEquals(null, jt.getPostScript());
    assertEquals(RestartMode.ANYWHERE, jt.getRestartTaskOnError());
    assertEquals(null, jt.getSelectionScripts());
    Assert.assertTrue(jt.isPreciousResult());
    log("Test generated task name");
    TaskFlowJob job = new TaskFlowJob();
    for (int i = 0; i < 4; i++) {
        Task t = new NativeTask();
        job.addTask(t);
    }
    Task t1, t2, t3, t4;
    assertNull(job.getTask(SchedulerConstants.TASK_NAME_IFNOTSET + "0"));
    Assert.assertNotNull(t1 = job.getTask(SchedulerConstants.TASK_NAME_IFNOTSET + "1"));
    Assert.assertNotNull(t2 = job.getTask(SchedulerConstants.TASK_NAME_IFNOTSET + "2"));
    Assert.assertNotNull(t3 = job.getTask(SchedulerConstants.TASK_NAME_IFNOTSET + "3"));
    Assert.assertNotNull(t4 = job.getTask(SchedulerConstants.TASK_NAME_IFNOTSET + "4"));
    assertNull(job.getTask(SchedulerConstants.TASK_NAME_IFNOTSET + "5"));
    Assert.assertTrue(t1 != t2);
    Assert.assertTrue(t1 != t3);
    Assert.assertTrue(t1 != t4);
    Assert.assertTrue(t2 != t3);
    Assert.assertTrue(t2 != t4);
    Assert.assertTrue(t3 != t4);
}
Also used : Task(org.ow2.proactive.scheduler.common.task.Task) JavaTask(org.ow2.proactive.scheduler.common.task.JavaTask) NativeTask(org.ow2.proactive.scheduler.common.task.NativeTask) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob) JavaTask(org.ow2.proactive.scheduler.common.task.JavaTask) NativeTask(org.ow2.proactive.scheduler.common.task.NativeTask) File(java.io.File)

Example 25 with Script

use of org.ow2.proactive.scripting.Script in project scheduling by ow2-proactive.

the class InternalScriptTask method display.

@Override
public String display() {
    String nl = System.lineSeparator();
    String answer = super.display();
    Script tscript = ((ScriptExecutableContainer) executableContainer).getScript();
    return answer + nl + "\tScript = " + ((tscript != null) ? tscript.display() : null);
}
Also used : Script(org.ow2.proactive.scripting.Script) ScriptExecutableContainer(org.ow2.proactive.scheduler.task.containers.ScriptExecutableContainer)

Aggregations

Test (org.junit.Test)46 SelectionScript (org.ow2.proactive.scripting.SelectionScript)40 File (java.io.File)38 SimpleScript (org.ow2.proactive.scripting.SimpleScript)33 TaskFlowJob (org.ow2.proactive.scheduler.common.job.TaskFlowJob)27 ScriptResult (org.ow2.proactive.scripting.ScriptResult)21 IOException (java.io.IOException)18 HashMap (java.util.HashMap)18 JavaTask (org.ow2.proactive.scheduler.common.task.JavaTask)16 Script (org.ow2.proactive.scripting.Script)16 JobId (org.ow2.proactive.scheduler.common.job.JobId)13 FlowScript (org.ow2.proactive.scheduler.common.task.flow.FlowScript)13 ArrayList (java.util.ArrayList)12 RMNode (org.ow2.proactive.resourcemanager.rmnode.RMNode)12 Serializable (java.io.Serializable)11 TaskScript (org.ow2.proactive.scripting.TaskScript)11 NodeSet (org.ow2.proactive.utils.NodeSet)11 RMFunctionalTest (functionaltests.utils.RMFunctionalTest)10 ResourceManager (org.ow2.proactive.resourcemanager.frontend.ResourceManager)10 ForkEnvironment (org.ow2.proactive.scheduler.common.task.ForkEnvironment)9