use of org.olat.core.commons.services.taskexecutor.TaskAwareRunnable in project OpenOLAT by OpenOLAT.
the class PersistentTaskRunnable method run.
@Override
public void run() {
PersistentTask task = null;
PersistentTaskDAO taskDao = CoreSpringFactory.getImpl(PersistentTaskDAO.class);
try {
task = taskDao.pickTaskForRun(taskKey);
if (task != null) {
Runnable runnable = taskDao.deserializeTask(task);
if (runnable instanceof TaskAwareRunnable) {
((TaskAwareRunnable) runnable).setTask(task);
}
runnable.run();
taskDao.taskDone(task);
}
DBFactory.getInstance().commitAndCloseSession();
} catch (Throwable e) {
DBFactory.getInstance().rollbackAndCloseSession();
markAsFailed(task);
log.error("Error while running task in a separate thread: " + (task == null ? "NULL" : task.getKey()), e);
}
}
use of org.olat.core.commons.services.taskexecutor.TaskAwareRunnable in project openolat by klemens.
the class PersistentTaskRunnable method run.
@Override
public void run() {
PersistentTask task = null;
PersistentTaskDAO taskDao = CoreSpringFactory.getImpl(PersistentTaskDAO.class);
try {
task = taskDao.pickTaskForRun(taskKey);
if (task != null) {
Runnable runnable = taskDao.deserializeTask(task);
if (runnable instanceof TaskAwareRunnable) {
((TaskAwareRunnable) runnable).setTask(task);
}
runnable.run();
taskDao.taskDone(task);
}
DBFactory.getInstance().commitAndCloseSession();
} catch (Throwable e) {
DBFactory.getInstance().rollbackAndCloseSession();
markAsFailed(task);
log.error("Error while running task in a separate thread: " + (task == null ? "NULL" : task.getKey()), e);
}
}
Aggregations