Skip to content

Commit 69190d4

Browse files
improve documentation for 0.4 release
1 parent a93d97e commit 69190d4

File tree

7 files changed

+179
-205
lines changed

7 files changed

+179
-205
lines changed

components.rst

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Components
2+
==========
3+
The library consists of three main parts.
4+
5+
TaskScheduler
6+
-------------
7+
The ``TaskScheduler`` stores tasks and schedules Executions. Foreach tasks there
8+
exists always on execution in the status ``planned``, ``running``. If the task
9+
will only one time it only get one execution at all. For recurring tasks the
10+
execution will always generated for the next run time.
11+
12+
Each task consists of:
13+
14+
- ``uuid``: unique identifier
15+
- ``handlerClass``: class-name of the handler which will be executed for this
16+
task
17+
- ``workload``: the workload will be passed to the handler
18+
- ``intervall``:
19+
- ``firstExecution``:
20+
- ``lastExecution``:
21+
22+
TaskRunner
23+
----------
24+
The ``TaskRunner`` takes the ``planned`` executions and executes the ``Handler``
25+
with the workload of the task.
26+
27+
Handler
28+
-------
29+
The ``Handler`` implements the domain-logic for a task. The library implements
30+
a Factory which uses Reflection to create a new instance for the
31+
``handlerClass`` of the task.
32+
33+
.. note::
34+
35+
The :doc:`symfony` uses tagged-services to find available ``Handler``.

0 commit comments

Comments
 (0)