package com.venky.swf.plugins.background.controller; import java.io.StringReader; import com.venky.swf.controller.ModelController; import com.venky.swf.controller.annotations.RequireLogin; import com.venky.swf.controller.annotations.SingleRecordAction; import com.venky.swf.db.Database; import com.venky.swf.path.Path; import com.venky.swf.plugins.background.core.TaskManager; import com.venky.swf.plugins.background.db.model.DelayedTask; import com.venky.swf.views.View; public class DelayedTasksController extends ModelController<DelayedTask> { public DelayedTasksController(Path path) { super(path); } @SingleRecordAction(tooltip="Retry") public View retry(int id){ DelayedTask task = Database.getTable(DelayedTask.class).get(id); task.setNumAttempts(0); task.setLastError(new StringReader("")); task.save(); return back(); } @RequireLogin(false) public View trigger(){ TaskManager.instance().wakeUp(); if (getIntegrationAdaptor() != null){ return getIntegrationAdaptor().createStatusResponse(getPath(), null); }else { return back(); } } }