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

59 lines
1.4 KiB
ReStructuredText

.. _orchestration_entities:
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)