Module - Les tâches sont définies dans les modules¶
- class manta.module.Module(python_program: str | Path, image: str, method: str = 'any', fixed: bool = False, excepted_ids: list | None = None, specified_ids: list | None = None, maximum: int | float | None = None, alias: str | None = None)¶
Classe qui contient la description d’une tâche
- Paramètres:
python_program (Union[str, Path]) – Code du programme Python
image (str) – Nom de l’image du conteneur dans lequel le programme sera exécuté
method (str) – Actuellement, seul
"any"
est disponiblefixed (bool) – Si
True
, les nœuds choisis doivent rester les mêmes tout au long de l’exécution d’unSwarm
excepted_ids (Optional[list]) – Liste des identifiants qui ne doivent pas être choisis pour ce module
specified_ids (Optional[list]) – Liste des identifiants qui doivent être choisis pour ce module
maximum (Optional[Union[int, float]]) – Nombre maximal d’identifiants pouvant être choisis pour ce module. S’il s’agit d’un float, ilest un pourcentage compris entre
0.0
et1.0
- kernel¶
Description d’une tâche
- Type:
ModuleKernel
Exemples
>>> aggregator = Module( ... python_program="modules/aggregator.py", ... image="manta-demo:latest", ... method="any", ... fixed=False, ... maximum=1, ... alias="aggregator", ... )
- __call__(module: List[Module | ModuleID] | Module | ModuleID | None = None, condition: Condition = Condition.FINISHED) ModuleID ¶
Se transformer en
ModuleID
et mettre à jour son propre graphique- Paramètres:
module (Optional[Union[List[ModuleLike], ModuleLike]]) – Un ou plusieurs modules à connecter entre eux
condition (Condition) – Condition qui indique au Manager quand la prochaine tâche doit être exécutée
- Renvoie:
ID du module avec son graphique mis à jour en fonction des arguments
- Type renvoyé:
Exemples
>>> aggregator = Module( ... "modules/aggregator.py", ... "manta-demo:latest", ... ) >>> worker = Module("modules/worker", "manta-demo:latest") >>> m = aggregator(worker) # start worker and follow by aggregator >>> isinstance(aggregator, Module) # True >>> isinstance(worker, Module) # True >>> isinstance(m, ModuleID) # True
- class manta.module.ModuleID(graph: Graph | None = None)¶
Classe unique associée à un identifiant qui permet de connecter le module
- Paramètres:
graph (Optional[Graph]) – Graphique du module
- graph¶
Maintenir la connectivité avec les modules précédents
- Type:
Graph
- uuid¶
ID du module
- Type:
UUID
- __call__(module: List[Module | ModuleID] | Module | ModuleID | None = None, condition: Condition = Condition.FINISHED) ModuleID ¶
Mettre à jour son propre graphe
- Paramètres:
module (Optional[Union[List[ModuleLike], ModuleLike]) – Un ou plusieurs modules à connecter entre eux
condition (Condition) – Condition qui indique au Manager quand la prochaine tâche doit être exécutée
- Renvoie:
Se retourner lui-même
- Type renvoyé:
Remarques
Il a le même comportement que
Module.__call__