Search in sources :

Example 96 with Script

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

the class RMProxyActiveObject method cleanCallBack.

/**
 * Called when a script has returned (call is made as an active object call)
 * <p>
 * Check the nodes to release and release the one that have to (clean script has returned)
 * Take care when renaming this method, method name is linked to
 * {@link #handleCleaningScript(NodeSet, Script, VariablesMap, Map, TaskId, Credentials)}
 */
@ImmediateService
public synchronized void cleanCallBack(Future<ScriptResult<?>> future, NodeSet nodes) {
    String nodeUrl = nodes.get(0).getNodeInformation().getURL();
    ScriptResult<?> sResult = null;
    TaskId taskId = nodesTaskId.get(nodes);
    try {
        sResult = future.get();
    } catch (Exception e) {
        logger.error("Exception occurred while executing cleaning script on node " + nodeUrl + ":", e);
    }
    printCleaningScriptInformations(nodes, sResult, taskId);
    releaseNodes(nodes);
}
Also used : TaskId(org.ow2.proactive.scheduler.common.task.TaskId) LoginException(javax.security.auth.login.LoginException) ImmediateService(org.objectweb.proactive.annotation.ImmediateService)

Example 97 with Script

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

the class TestKillTaskWhileExecutingScripts method forkedJavaTaskKillEndlessJavaExecutable.

public void forkedJavaTaskKillEndlessJavaExecutable() throws Throwable {
    log("Test : killing an Endless Java Executable ...");
    String tname = "forkedJavaTaskKillEndlessJavaExecutable";
    // pre script interruption
    TaskFlowJob job = new TaskFlowJob();
    job.setName(this.getClass().getSimpleName() + "_" + tname);
    JavaTask task1 = new JavaTask();
    task1.setName(tname);
    task1.setExecutableClassName(EndlessExecutable.class.getName());
    task1.setForkEnvironment(new ForkEnvironment());
    job.addTask(task1);
    submitAndCheckJob(job, tname);
}
Also used : EndlessExecutable(functionaltests.executables.EndlessExecutable) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob) JavaTask(org.ow2.proactive.scheduler.common.task.JavaTask) ForkEnvironment(org.ow2.proactive.scheduler.common.task.ForkEnvironment)

Example 98 with Script

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

the class TestKillTaskWhileExecutingScripts method killEndlessScriptTask.

public void killEndlessScriptTask() throws Throwable {
    log("Test : killing an Endless Script Task...");
    String tname = "killEndlessScriptTask";
    // pre script interruption
    TaskFlowJob job = new TaskFlowJob();
    job.setName(this.getClass().getSimpleName() + "_" + tname);
    ScriptTask task1 = new ScriptTask();
    task1.setName(tname);
    task1.setScript(new TaskScript(endlessScript));
    job.addTask(task1);
    submitAndCheckJob(job, tname);
}
Also used : ScriptTask(org.ow2.proactive.scheduler.common.task.ScriptTask) TaskScript(org.ow2.proactive.scripting.TaskScript) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob)

Example 99 with Script

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

the class TestKillTaskWhileExecutingScripts method forkedJavaTaskKillEndlessEnvScript.

public void forkedJavaTaskKillEndlessEnvScript() throws Throwable {
    log("Test Forked Java Task : killing an Endless Java Executable ...");
    String tname = "forkedJavaTaskKillEndlessEnvScript";
    // pre script interruption
    TaskFlowJob job = new TaskFlowJob();
    job.setName(this.getClass().getSimpleName() + "_" + tname);
    JavaTask task1 = new JavaTask();
    task1.setName(tname);
    task1.setExecutableClassName(EmptyExecutable.class.getName());
    ForkEnvironment fe = new ForkEnvironment();
    fe.setEnvScript(endlessScript);
    task1.setForkEnvironment(fe);
    job.addTask(task1);
    submitAndCheckJob(job, tname);
}
Also used : EmptyExecutable(functionaltests.executables.EmptyExecutable) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob) JavaTask(org.ow2.proactive.scheduler.common.task.JavaTask) ForkEnvironment(org.ow2.proactive.scheduler.common.task.ForkEnvironment)

Example 100 with Script

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

the class TestKillTaskWhileExecutingScripts method javaTaskKillEndlessPostScript.

public void javaTaskKillEndlessPostScript() throws Throwable {
    log("Test Java Task : killing an Endless PostScript ...");
    String tname = "javaTaskKillEndlessPostScript";
    // pre script interruption
    TaskFlowJob job = new TaskFlowJob();
    job.setName(this.getClass().getSimpleName() + "_" + tname);
    JavaTask task1 = new JavaTask();
    task1.setName(tname);
    task1.setExecutableClassName(EmptyExecutable.class.getName());
    task1.setPostScript(endlessScript);
    job.addTask(task1);
    submitAndCheckJob(job, tname);
}
Also used : EmptyExecutable(functionaltests.executables.EmptyExecutable) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob) JavaTask(org.ow2.proactive.scheduler.common.task.JavaTask)

Aggregations

Test (org.junit.Test)38 SelectionScript (org.ow2.proactive.scripting.SelectionScript)32 File (java.io.File)31 SimpleScript (org.ow2.proactive.scripting.SimpleScript)28 TaskFlowJob (org.ow2.proactive.scheduler.common.job.TaskFlowJob)25 ArrayList (java.util.ArrayList)16 JavaTask (org.ow2.proactive.scheduler.common.task.JavaTask)15 Script (org.ow2.proactive.scripting.Script)15 ScriptResult (org.ow2.proactive.scripting.ScriptResult)15 FlowScript (org.ow2.proactive.scheduler.common.task.flow.FlowScript)13 HashMap (java.util.HashMap)12 RMNode (org.ow2.proactive.resourcemanager.rmnode.RMNode)11 IOException (java.io.IOException)10 JobId (org.ow2.proactive.scheduler.common.job.JobId)10 NodeSet (org.ow2.proactive.utils.NodeSet)10 RMFunctionalTest (functionaltests.utils.RMFunctionalTest)9 ResourceManager (org.ow2.proactive.resourcemanager.frontend.ResourceManager)9 Job (org.ow2.proactive.scheduler.common.job.Job)8 ForkEnvironment (org.ow2.proactive.scheduler.common.task.ForkEnvironment)8 Serializable (java.io.Serializable)7