Search in sources :

Example 31 with Type

use of org.ow2.proactive_grid_cloud_portal.cli.json.FieldMetaDataView.Type in project scheduling by ow2-proactive.

the class AbstractSchedulerUser method registerListener.

public void registerListener(boolean getInitialState, boolean myEventsOnly, String listenerClazzName) throws SchedulerException, ProActiveException {
    try {
        if (this.scheduler == null)
            throw new IllegalStateException("The user is not connected to the Scheduler yet. " + "Consider calling the connectToScheduler() method first");
        SchedulerEventListener schedulerListener = createEventListener(listenerClazzName);
        logger.trace("Trying to expose the listener as a remote object");
        slExposer = new SchedulerListenerExposer(schedulerListener);
        SchedulerEventListener schedulerListenerRemoteRef = slExposer.createRemoteReference();
        logger.trace("Trying to register the listener to the Scheduler");
        // for the moment, listens only to the Jobs-related events
        SchedulerState initialState = scheduler.addEventListener(schedulerListenerRemoteRef, myEventsOnly, getInitialState, // job-related events
        SchedulerEvent.JOB_SUBMITTED, SchedulerEvent.JOB_PENDING_TO_RUNNING, SchedulerEvent.JOB_PENDING_TO_FINISHED, SchedulerEvent.JOB_RUNNING_TO_FINISHED, SchedulerEvent.JOB_PAUSED, SchedulerEvent.JOB_RESUMED, SchedulerEvent.JOB_RESTARTED_FROM_ERROR, SchedulerEvent.JOB_CHANGE_PRIORITY, // task-related events
        SchedulerEvent.TASK_PENDING_TO_RUNNING, SchedulerEvent.TASK_RUNNING_TO_FINISHED, SchedulerEvent.TASK_WAITING_FOR_RESTART, SchedulerEvent.USERS_UPDATE, // Scheduler state related events
        SchedulerEvent.FROZEN, SchedulerEvent.RESUMED, SchedulerEvent.SHUTDOWN, SchedulerEvent.SHUTTING_DOWN, SchedulerEvent.STARTED, SchedulerEvent.STOPPED, SchedulerEvent.KILLED);
        if (getInitialState) {
            logger.info("Initial state of the scheduler is: " + initialState);
        }
    } catch (ClassNotFoundException e) {
        throw new IllegalArgumentException("Class " + listenerClazzName + " is not available on this SchedulerUser's side", e);
    } catch (InstantiationException e) {
        throw new IllegalArgumentException("Cannot instantiate listener of type " + listenerClazzName, e);
    } catch (IllegalAccessException e) {
        throw new IllegalArgumentException("Cannot instantiate listener of type " + listenerClazzName, e);
    }
}
Also used : SchedulerListenerExposer(scalabilityTests.framework.listeners.SchedulerListenerExposer) SchedulerState(org.ow2.proactive.scheduler.common.SchedulerState) SchedulerEventListener(org.ow2.proactive.scheduler.common.SchedulerEventListener)

Example 32 with Type

use of org.ow2.proactive_grid_cloud_portal.cli.json.FieldMetaDataView.Type in project scheduling by ow2-proactive.

the class SchedulerJobSubmitter method createEventListener.

@Override
protected SchedulerEventListener createEventListener(String listenerClazzName) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
    logger.trace("Trying to load the listener class " + listenerClazzName);
    Class listenerClazz = Class.forName(listenerClazzName);
    logger.trace("Trying to instantiate a listener of type " + listenerClazzName);
    SchedulerEventListener schedulerListener = (SchedulerEventListener) listenerClazz.newInstance();
    logger.trace("Decorating the event listener with " + JobResultDecorator.class.getName());
    this.jrListener = new JobResultDecorator(schedulerListener, (AbstractSchedulerUser<JobId>) PAActiveObject.getStubOnThis());
    return this.jrListener;
}
Also used : JobResultDecorator(scalabilityTests.framework.listeners.JobResultDecorator) SchedulerEventListener(org.ow2.proactive.scheduler.common.SchedulerEventListener)

Example 33 with Type

use of org.ow2.proactive_grid_cloud_portal.cli.json.FieldMetaDataView.Type in project scheduling by ow2-proactive.

the class SchedulerUser method createEventListener.

@Override
protected SchedulerEventListener createEventListener(String listenerClazzName) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
    logger.trace("Trying to load the listener class " + listenerClazzName);
    Class listenerClazz = Class.forName(listenerClazzName);
    logger.trace("Trying to instantiate a listener of type " + listenerClazzName);
    SchedulerEventListener ret = (SchedulerEventListener) listenerClazz.newInstance();
    // ugly but necessary; getJobResult MUST be called from the SchedulerUser AO !!
    if (ret instanceof JobResultSchedulerListener)
        ((JobResultSchedulerListener) ret).setResultFetcher((SchedulerUser<JobId>) PAActiveObject.getStubOnThis());
    return ret;
}
Also used : JobResultSchedulerListener(scalabilityTests.framework.listeners.JobResultSchedulerListener) SchedulerEventListener(org.ow2.proactive.scheduler.common.SchedulerEventListener)

Example 34 with Type

use of org.ow2.proactive_grid_cloud_portal.cli.json.FieldMetaDataView.Type in project scheduling by ow2-proactive.

the class SelectorData method createOutputSelector.

OutputSelector createOutputSelector() {
    if (!type.equals(OUTPUT_TYPE)) {
        throw new IllegalStateException("Not output selector: " + type);
    }
    FileSelector fileSelector = new FileSelector(getIncludes(), getExcludes());
    OutputSelector selector = new OutputSelector(fileSelector, OutputAccessMode.valueOf(getAccessMode()));
    return selector;
}
Also used : OutputSelector(org.ow2.proactive.scheduler.common.task.dataspaces.OutputSelector) FileSelector(org.objectweb.proactive.extensions.dataspaces.vfs.selector.FileSelector)

Example 35 with Type

use of org.ow2.proactive_grid_cloud_portal.cli.json.FieldMetaDataView.Type in project scheduling by ow2-proactive.

the class SchedulerMonitorsHandler method addTaskEvent.

/**
 * Add a Task Event to the list of occurred events (memorize it).
 * @param event type of task event
 * @param taskInfo TaskEvent object associated to Event
 */
private void addTaskEvent(SchedulerEvent event, TaskInfo taskInfo) {
    TaskIdWrapper taskId = TaskIdWrapper.wrap(taskInfo.getTaskId());
    List<TaskEventMonitor> taskEventMonitors = tasksEvents.get(taskId);
    if (taskEventMonitors == null) {
        taskEventMonitors = new ArrayList<>();
        tasksEvents.put(taskId, taskEventMonitors);
    }
    taskEventMonitors.add(new TaskEventMonitor(event, taskInfo));
}
Also used : TaskIdWrapper(org.ow2.proactive.utils.TaskIdWrapper)

Aggregations

FileNotFoundException (java.io.FileNotFoundException)7 JobCreationException (org.ow2.proactive.scheduler.common.exception.JobCreationException)7 File (java.io.File)6 XMLStreamException (javax.xml.stream.XMLStreamException)6 VerifierConfigurationException (org.iso_relax.verifier.VerifierConfigurationException)6 JobValidationException (org.ow2.proactive.scheduler.common.exception.JobValidationException)6 HashMap (java.util.HashMap)4 Path (javax.ws.rs.Path)4 Produces (javax.ws.rs.Produces)4 TaskResult (org.ow2.proactive.scheduler.common.task.TaskResult)4 IOException (java.io.IOException)3 ArrayList (java.util.ArrayList)3 List (java.util.List)3 GET (javax.ws.rs.GET)3 FileObject (org.apache.commons.vfs2.FileObject)3 GZIP (org.jboss.resteasy.annotations.GZIP)3 Scheduler (org.ow2.proactive.scheduler.common.Scheduler)3 SchedulerEventListener (org.ow2.proactive.scheduler.common.SchedulerEventListener)3 TaskFlowJob (org.ow2.proactive.scheduler.common.job.TaskFlowJob)3 KeyException (java.security.KeyException)2