Project Description
Nepma can control execution of parallel or sequential tasks using multithreaded approach. It can group tasks and insert pauses between them according to parameter defined by the developer. It has been initially designed to automate redondant tasks originaly executed by human hands.
The first release can execute an arbitrary set of tasks.
The goal is to be able to write only the code for the tasks and focus only on this code, rather than on the way to execute and control these tasks.

The demo project contains a simple fake program that defines 5 tasks partially parallelized, and a GUI to monitor their execution.

Each tasks contains an attribute used to tell the engine if it must paused the execution after the task is finished.
All exceptions are trapped in each tasks, and an event is raised when exceptions are thrown.
Tasks sharing the same group number are executed in multiple thread at the same time, unless the task is explicitly marked as not parallelizable.

Tasks are subclasses of a base class named TaskBase, you only need to define a few properties in your constructor (by calling the base constructor for example). The specific code for your task is contained is the override of the base Process() method. Process() is executed in a separate thread by the engine.

Recent changes
Source code has been moved to allow easier integration of addins for the main engine.
A monitoring window is available, it allows user to see the current state of the tasks and to select which tasks will be executed.

Future enhancements
  • A statistics module is being developped for the TaskManager. It will provide several informations about execution of the different tasks. It is planned to be released in the version

Last edited Jul 23, 2007 at 8:16 AM by SaumonAgile, version 12