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.
These details are provided for information only. No information here is legal advice and should not be used as such.