Skip to content

Description

Control Panel is used as an entry point to ECS storages and runner.

API

Meta

RunnerMeta

Source code in encosy/runner/meta.py
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
class RunnerMeta(metaclass=ABCMeta):
    @abstractmethod
    def run(self, functions: Iterable[Callable]):
        """
        Runner class is used for executing functions either consecutive or
        in parallel

        Args:
            functions: generator - list of functions

        Returns:

        """
        pass

run(functions) abstractmethod

Runner class is used for executing functions either consecutive or in parallel

Parameters:

Name Type Description Default
functions Iterable[Callable]

generator - list of functions

required
Source code in encosy/runner/meta.py
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
@abstractmethod
def run(self, functions: Iterable[Callable]):
    """
    Runner class is used for executing functions either consecutive or
    in parallel

    Args:
        functions: generator - list of functions

    Returns:

    """
    pass

Runner

ParallelRunner

Bases: RunnerMeta

Source code in encosy/runner/runner.py
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class ParallelRunner(RunnerMeta):
    def run(self, functions: Iterable[Callable]):
        """
        Executes each tick in parallel

        Args:
            functions: basically generator

        Returns:

        """
        processors = []
        for function in functions:
            process = Process(target=function)
            process.start()
            processors.append(process)
        for process in processors:
            process.join()

run(functions)

Executes each tick in parallel

Parameters:

Name Type Description Default
functions Iterable[Callable]

basically generator

required
Source code in encosy/runner/runner.py
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
def run(self, functions: Iterable[Callable]):
    """
    Executes each tick in parallel

    Args:
        functions: basically generator

    Returns:

    """
    processors = []
    for function in functions:
        process = Process(target=function)
        process.start()
        processors.append(process)
    for process in processors:
        process.join()

SimpleRunner

Bases: RunnerMeta

Source code in encosy/runner/runner.py
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
class SimpleRunner(RunnerMeta):
    def run(self, functions: Iterable[Callable]):
        """
        Executes functions in consecutive order

        Args:
            functions: basically generator

        Returns:

        """
        for function in functions:
            function()

run(functions)

Executes functions in consecutive order

Parameters:

Name Type Description Default
functions Iterable[Callable]

basically generator

required
Source code in encosy/runner/runner.py
 8
 9
10
11
12
13
14
15
16
17
18
19
def run(self, functions: Iterable[Callable]):
    """
    Executes functions in consecutive order

    Args:
        functions: basically generator

    Returns:

    """
    for function in functions:
        function()