Security/Projects/Minion/TaskEngine

From MozillaWiki
< Security‎ | Projects/Minion
Revision as of 14:09, 19 October 2012 by Psiinon (talk | contribs) (Created page with "=Minion Task Engine= __NOTOC__ ==Overview== The Task Engine is responsible for: * Providing a REST based API * Handling requests from trusted components (eg the Web UI) * Schedul...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 :)