Search in sources :

Example 1 with ExecutorEngineWorker

use of cz.metacentrum.perun.engine.scheduling.ExecutorEngineWorker in project perun by CESNET.

the class TaskExecutorEngineImpl method startWorker.

/**
     * 
     */
private void startWorker(Task task, Destination destination) {
    log.debug("Starting worker for task " + task.getId() + " and destination " + destination.toString());
    ExecutorEngineWorker executorEngineWorker = createExecutorEngineWorker();
    executorEngineWorker.setTask(task);
    executorEngineWorker.setFacility(task.getFacility());
    executorEngineWorker.setExecService(task.getExecService());
    executorEngineWorker.setDestination(destination);
    executorEngineWorker.setResultListener((TaskResultListener) taskStatusManager);
    if (task.getExecService().getExecServiceType().equals(ExecServiceType.GENERATE)) {
        taskExecutorGenWorkers.execute(executorEngineWorker);
    } else {
        taskExecutorSendWorkers.execute(executorEngineWorker);
    }
}
Also used : ExecutorEngineWorker(cz.metacentrum.perun.engine.scheduling.ExecutorEngineWorker)

Example 2 with ExecutorEngineWorker

use of cz.metacentrum.perun.engine.scheduling.ExecutorEngineWorker in project perun by CESNET.

the class ExecutorEngineWorkerImplTest method runGenTest.

@Test
public void runGenTest() throws Exception {
    System.out.println("ExecutorEngineWorkerImpl.runGenTest");
    ExecutorEngineWorker worker = (ExecutorEngineWorker) beanFactory.getBean("executorEngineWorker");
    log.debug("task " + task_gen.toString());
    schedulingPool.addToPool(task_gen);
    for (Task task : taskManager.listAllTasks(engineId)) {
        log.debug("task in db " + ((task == null) ? "null" : task.toString()));
    }
    count = 0;
    // for test there is no send subfolder, let's fake root
    ((ExecutorEngineWorkerImpl) worker).setGenDirectory(new File("/"));
    worker.setTask(task_gen);
    worker.setExecService(task_gen.getExecService());
    worker.setFacility(task_gen.getFacility());
    worker.setDestination(destination1);
    worker.setResultListener(this);
    worker.run();
    Assert.isTrue(count == 1, "count 1");
}
Also used : Task(cz.metacentrum.perun.taskslib.model.Task) ExecutorEngineWorker(cz.metacentrum.perun.engine.scheduling.ExecutorEngineWorker) File(java.io.File) ExecutorEngineWorkerImpl(cz.metacentrum.perun.engine.scheduling.impl.ExecutorEngineWorkerImpl) Test(org.junit.Test) AbstractEngineTest(cz.metacentrum.perun.engine.AbstractEngineTest)

Example 3 with ExecutorEngineWorker

use of cz.metacentrum.perun.engine.scheduling.ExecutorEngineWorker in project perun by CESNET.

the class ExecutorEngineWorkerImplTest method runSendTest.

@Test
public void runSendTest() throws Exception {
    System.out.println("ExecutorEngineWorkerImpl.runSendTest");
    ExecutorEngineWorker worker = (ExecutorEngineWorker) beanFactory.getBean("executorEngineWorker");
    log.debug("task " + task1.toString());
    // add task to local db
    schedulingPool.addToPool(task1);
    for (Task task : taskManager.listAllTasks(engineId)) {
        log.debug("task in db " + ((task == null) ? "null" : task.toString()));
    }
    count = 0;
    // for test there is no send subfolder, let's fake root
    ((ExecutorEngineWorkerImpl) worker).setSendDirectory(new File("/"));
    worker.setTask(task1);
    worker.setExecService(task1.getExecService());
    worker.setFacility(task1.getFacility());
    worker.setDestination(destination1);
    worker.setResultListener(this);
    worker.run();
    Assert.isTrue(count == 1, "count 1");
}
Also used : Task(cz.metacentrum.perun.taskslib.model.Task) ExecutorEngineWorker(cz.metacentrum.perun.engine.scheduling.ExecutorEngineWorker) File(java.io.File) ExecutorEngineWorkerImpl(cz.metacentrum.perun.engine.scheduling.impl.ExecutorEngineWorkerImpl) Test(org.junit.Test) AbstractEngineTest(cz.metacentrum.perun.engine.AbstractEngineTest)

Aggregations

ExecutorEngineWorker (cz.metacentrum.perun.engine.scheduling.ExecutorEngineWorker)3 AbstractEngineTest (cz.metacentrum.perun.engine.AbstractEngineTest)2 ExecutorEngineWorkerImpl (cz.metacentrum.perun.engine.scheduling.impl.ExecutorEngineWorkerImpl)2 Task (cz.metacentrum.perun.taskslib.model.Task)2 File (java.io.File)2 Test (org.junit.Test)2