solar/doc/source/orchestration/entities.rst
venkatamahesh 08d463d220 Fix misspellings
Change-Id: I7f250d89efb204dc3e232e1e10c0382deb04eec8
2016-02-04 09:21:04 +05:30

1.4 KiB

Entities

Worker

Worker encapsulates logic related to certain area in solar. Current we have next workers:

Scheduler

Correctly initates execution plans and updates state of tasks.

Tasks

Execute tasks scheduled by Scheduler worker

System log

Updates system log e.g. commits and moves log item from staged log to history, or in case of error updates log item as erred

Executors

Each executor module should provide:

Executor

Executor responsible for processing events and handle them via given worker. Concurrency policies is up to the executor implementation.

Client

Client communicates with executor

In current version of Solar we are using executor based on Push/Pull zeromq sockets, and gevent pool for concurrent processing of events.

Subscriptions

Each public method of worker is subscribable, in current version 4 events are available to subscribers.

on_success

Called in the case of successful execution, provides context, result and event arguments

on_error

Called in the case of error, prorives context, error type, event arguments

before

Called before method execution, provides only context

after

Called after method executuon, provides only context

To subscribe use:

worker.method.on_sucess(callable)

Additionally each worker provides for_all descriptor which allows to subscribe to all public methods:

worker.for_all.before(callable)