Super tool to manage concurrently running tasks
Want to do many things simultaneously, but have only two arms? Dont panic, trunkore is exactly the thing you need now! Put your business logic in dynamic library and easily run it with other stuff concurrently, ofc with various abilities of state-managing such as initializing/suspending/deinitializing tasks. And yeah, only in this universe, trunkore is not only free to use, but also opensourced. What a place to live, right? ;)
trunkore uses CMake as build system
git clone https://github.com/XXXRef/trunkore.git
cd trunkore
mkdir BUILD
cd BUILD
cmake ..
NOTES:
- For now only x86-Debug build configuration tested
- You can build only trunkore without test job lib, just cmake the "trunkore" subfolder
trunkore manages jobs that are contained each in its own job library. So you need to implement your own IJobOwner class (including i_jobowner.hpp, types.hpp, utils.hpp like in TestJobLib EXT/inc folder), and override {init(),play(),deinit()} methods with your business logic. Build result as dynamic lib and you are ready to go.
Commands:
- Add job into trunkore
ADD <jobID> <jobLibPath> <jobConfigPath>
//Example: ADD job0 C:\job.dll C:\job_cfg.cfg
- Remove job
RM <jobID>
- Init job
INIT <jobID>
- Deinit job
DEINIT <jobID>
- Play job (for the first time or one being stopped)
PLAY <jobID>
- Stop running job
STOP <jobID>
- Get state of job
STATE <jobID>
- List job IDs and their states
LS
NOTES:
- < jobConfigPath > - path to config file with whatever additional info you want for your job to initialize itself