Search in sources :

Example 1 with Sequential

use of org.olat.core.commons.services.taskexecutor.Sequential in project OpenOLAT by OpenOLAT.

the class TaskExecutorManagerImpl method execute.

@Override
public void execute(Runnable task) {
    // wrap call to the task here to catch all errors that are may not catched yet in the task itself
    // like outOfMemory or other system errors.
    Task persistentTask = null;
    if (task instanceof LongRunnable) {
        persistentTask = persistentTaskDao.createTask(UUID.randomUUID().toString(), (LongRunnable) task);
        dbInstance.commit();
    } else {
        execute(task, persistentTask, (task instanceof Sequential));
    }
}
Also used : LongRunnable(org.olat.core.commons.services.taskexecutor.LongRunnable) Task(org.olat.core.commons.services.taskexecutor.Task) PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) Sequential(org.olat.core.commons.services.taskexecutor.Sequential)

Example 2 with Sequential

use of org.olat.core.commons.services.taskexecutor.Sequential in project OpenOLAT by OpenOLAT.

the class TaskExecutorManagerImpl method processTaskToDo.

protected void processTaskToDo() {
    try {
        List<Long> todos = persistentTaskDao.tasksToDo();
        for (Long todo : todos) {
            PersistentTask task = persistentTaskDao.loadTaskById(todo);
            Runnable runnable = persistentTaskDao.deserializeTask(task);
            PersistentTaskRunnable command = new PersistentTaskRunnable(todo);
            execute(command, null, (runnable instanceof Sequential));
        }
    } catch (Exception e) {
        // ups, something went completely wrong! We log this but continue next time
        log.error("Error while executing task todo", e);
    }
}
Also used : Sequential(org.olat.core.commons.services.taskexecutor.Sequential) PersistentTaskRunnable(org.olat.core.commons.services.taskexecutor.model.PersistentTaskRunnable) DBSecureRunnable(org.olat.core.commons.services.taskexecutor.model.DBSecureRunnable) PersistentTaskRunnable(org.olat.core.commons.services.taskexecutor.model.PersistentTaskRunnable) TaskAwareRunnable(org.olat.core.commons.services.taskexecutor.TaskAwareRunnable) LongRunnable(org.olat.core.commons.services.taskexecutor.LongRunnable) PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) AssertException(org.olat.core.logging.AssertException) SchedulerException(org.quartz.SchedulerException)

Example 3 with Sequential

use of org.olat.core.commons.services.taskexecutor.Sequential in project openolat by klemens.

the class TaskExecutorManagerImpl method execute.

@Override
public void execute(Runnable task) {
    // wrap call to the task here to catch all errors that are may not catched yet in the task itself
    // like outOfMemory or other system errors.
    Task persistentTask = null;
    if (task instanceof LongRunnable) {
        persistentTask = persistentTaskDao.createTask(UUID.randomUUID().toString(), (LongRunnable) task);
        dbInstance.commit();
    } else {
        execute(task, persistentTask, (task instanceof Sequential));
    }
}
Also used : LongRunnable(org.olat.core.commons.services.taskexecutor.LongRunnable) Task(org.olat.core.commons.services.taskexecutor.Task) PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) Sequential(org.olat.core.commons.services.taskexecutor.Sequential)

Example 4 with Sequential

use of org.olat.core.commons.services.taskexecutor.Sequential in project openolat by klemens.

the class TaskExecutorManagerImpl method processTaskToDo.

protected void processTaskToDo() {
    try {
        List<Long> todos = persistentTaskDao.tasksToDo();
        for (Long todo : todos) {
            PersistentTask task = persistentTaskDao.loadTaskById(todo);
            Runnable runnable = persistentTaskDao.deserializeTask(task);
            PersistentTaskRunnable command = new PersistentTaskRunnable(todo);
            execute(command, null, (runnable instanceof Sequential));
        }
    } catch (Exception e) {
        // ups, something went completely wrong! We log this but continue next time
        log.error("Error while executing task todo", e);
    }
}
Also used : Sequential(org.olat.core.commons.services.taskexecutor.Sequential) PersistentTaskRunnable(org.olat.core.commons.services.taskexecutor.model.PersistentTaskRunnable) DBSecureRunnable(org.olat.core.commons.services.taskexecutor.model.DBSecureRunnable) PersistentTaskRunnable(org.olat.core.commons.services.taskexecutor.model.PersistentTaskRunnable) TaskAwareRunnable(org.olat.core.commons.services.taskexecutor.TaskAwareRunnable) LongRunnable(org.olat.core.commons.services.taskexecutor.LongRunnable) PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) AssertException(org.olat.core.logging.AssertException) SchedulerException(org.quartz.SchedulerException)

Aggregations

LongRunnable (org.olat.core.commons.services.taskexecutor.LongRunnable)4 Sequential (org.olat.core.commons.services.taskexecutor.Sequential)4 PersistentTask (org.olat.core.commons.services.taskexecutor.model.PersistentTask)4 Task (org.olat.core.commons.services.taskexecutor.Task)2 TaskAwareRunnable (org.olat.core.commons.services.taskexecutor.TaskAwareRunnable)2 DBSecureRunnable (org.olat.core.commons.services.taskexecutor.model.DBSecureRunnable)2 PersistentTaskRunnable (org.olat.core.commons.services.taskexecutor.model.PersistentTaskRunnable)2 AssertException (org.olat.core.logging.AssertException)2 SchedulerException (org.quartz.SchedulerException)2