Security/Projects/Minion/TaskEngine
< Security | Projects/Minion
Jump to navigation
Jump to search
Minion Task Engine
Overview
The Task Engine is responsible for:
- Providing a REST based API
- Handling requests from trusted components (eg the Web UI)
- Scheduling work across the available resources (ie plugins)
- Persisting data
Main Classes
TaskEngine
This is the guts of the task engine, and will implement (or control) all of the functionality.
It can be run 'inline' for testing / development purposes.
TaskEngineRestApi
This is a wrapper around the TaskEngine, and provides a simple REST API.
At some point this will become a 'proper' stand alone service.
TaskEngineClient
This provides the same interface as the TaskEngine, but communicates with a separate task engine process via the REST API.
Clients should be able to switch between the TaskEngine and the TaskEngineClient without having to make any changes.
Notes
- It should persist all data to a db and maintain as little data in memory as possible.
- This will allow us to run multiple Task Engine servers for one service, with all of the synchronization happening via the db (which would probably be clustered).
- To start with we'll probably implement the minimum necessary functionality to get the basics working
- In future phases there will be significant functionality to implement here :)