Current implementation of the Runner acts as both command line parser/store and interface between slivka and execution system. Advantaged of separation and composition over inheritance are:
cleaner custom runner creation by removing all parts which are not involved in communication with the execution system
easier testing of each component in isolation
less redundancy, runner and command line builder need to be tested once for all types of runners
New runner can be composed of the following components: command line builder (this opens a possibility to have a dedicated builder for windows), execution manager interface implementing submit, check_status, cancel, release/free methods, main logic gluing the components together.
Current implementation of the
Runner
acts as both command line parser/store and interface between slivka and execution system. Advantaged of separation and composition over inheritance are:New runner can be composed of the following components: command line builder (this opens a possibility to have a dedicated builder for windows), execution manager interface implementing
submit
,check_status
,cancel
,release
/free
methods, main logic gluing the components together.