Ticket #203 (closed: fixed)

Opened 12 years ago

Last modified 5 years ago

Extend Algorithm base class to allow algorithms to execute asynchronously

Reported by: Nick Draper Owned by: Roman Tolchenov
Priority: major Milestone: Iteration 11
Component: Keywords:
Cc: Blocked By:
Blocking: Tester:

Description

The base class should be extended to add an ExecuteAsync method. This should run the Exec method in a separate thread and communicate the result back through some callback mechanism (Boost.Signals?).

Once this works the QTIPLOT interface should be altered to use this as the primary method of running algorithms.

Change History

comment:1 Changed 12 years ago by Roman Tolchenov

(In [1300]) re #203. New Algorithm::executeAsync() method runs the algorithm in a separate thread. It posts Poco::Notifications when it starts and finishes and also when an exception is thrown. Algorithms can send notifications about their progress by calling Algorithm::progress() method.

comment:2 Changed 12 years ago by Roman Tolchenov

(In [1301]) re #203. Asynchronous execution test.

comment:3 Changed 12 years ago by Roman Tolchenov

(In [1302]) re #203. Qtiplot runs algorithms asynchronously.

comment:4 Changed 12 years ago by Roman Tolchenov

(In [1303]) re #203. Fix to qtiplot build

comment:5 Changed 12 years ago by Roman Tolchenov

(In [1306]) re #203. Correction to AsynchronousTest.h

comment:6 Changed 12 years ago by Roman Tolchenov

(In [1311]) Improved Algorithm::cancel() to be able to stop execution when a child algorithm is running. Fixes to windows installer. refs #203, #213

comment:7 Changed 12 years ago by Russell Taylor

(In [1312]) Updates to test scripts following asynchronous Algorithm extension. Re #203.

comment:8 Changed 12 years ago by Roman Tolchenov

(In [1318]) Fixed bugs. re #203

comment:9 Changed 12 years ago by Roman Tolchenov

(In [1340]) Added AlgorithmMonitor class to qtiplot which monitors all running algorithms. re #203

comment:10 Changed 12 years ago by Roman Tolchenov

  • Status changed from new to closed
  • Resolution set to fixed

comment:11 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 1051

Note: See TracTickets for help on using tickets.