Operations Manager

From AIBenchWiki

Jump to: navigation, search

Contents

Problem

It will be useful to send to background some operations and also to have a monitor with all running operations.

Solution

Extend the Core

Adding new methods to the CoreListener interface, to see when some operation starts, finishes and throws errors. These are the same methods as the ones found in ProgressHandler, but this handler can only be attached by the executeOperation methods, so we need that a third party code also could monitor these events.

public interface CoreListener{
 public void operationStarted(OperationDefinition def, Object key);
 public void operationFinished(OperationDefinition def, Object key, List<Object> results, List<ClipboardItems> items);
 public void operationError(OperationDefinition def, Object key, Throwable t);
}

Extend Workbench

Change the default progress dialog adding a button to 'Send to background' a running task. In fact, all operations are running in a separated thread, but the dialog is always there until the operation finishes. So, the only thing to do is to close this dialog, the operation will keep running.

New plugin: Operations Monitor

Create a new plugin that will be visible in a component (in the bottom zone, for example) making use of the Core API to monitor all operations

Personal tools
Documentation