Skip to content

armangal/SmartExecutor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Executor


Smart Executor is a light-weight thread execution and thread-pools management framework.
The goal of the framework is to provide controllable tasks execution environmet while keeping the executions under tight control and monitoring.

Motivation

- Developers tend to create countless Executors ("Wild Executors") or Threads/Timers ("Wild Threads") all over the application without proper configurations and documentations. Later we find ourselves reviewing thread dumps where thread names means nothing to us and their amount is not consistent and performance aspect is totally ignored. - We want to understand deeper logical features performance in order to get better control over application life-cycle, for example we have important (IM) operations and less-important (LI), when we use one thread pool to execute those operations together delays in execution of LI operations will cause IM operations to be delayed us well and even been rejected by the thread pool when queue becomes full. By using SmartExecutor the situation is easly solved, we'll define two separate thread pool for each operation, those both logic tasks will not interfere each-other.

Features

- Configurable Thread Pools - Extensive statistics over the pools performance -- Per Thread Pool -- Per Task ID - Tracking source of task execution and printing in logs once problems occurs during execution. - JMX monitoring - Web-based monitoring UI (as a separate GWT project)

Members:

Owner: - Arman Gal

Contributors:

  • Daniel Gyupchanov
  • Erdoan Veliev

Written by Arman Gal, and released to the public domain, as explained at http://creativecommons.org/publicdomain/zero/1.0/

@author Arman Gal, arman@armangal.com, @armangal

About

SmartExecutor is a light-weight tasks execution framework.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages