11.4. Processing Distributor

11.4.1. Présentation

Parent package: fr.gouv.vitam.processing
Package proposition: fr.gouv.vitam.processing.distributor

2 modules composent la partie processing-distributor : - processing-distributor : incluant la partie core + la partie REST. - processing-distributor-client : incluant le client permettant d’appeler le REST.

11.4.1.1. Processing-distributor

11.4.2. Rest API

Pour l’instant les uri suivantes sont déclarées :

POST /{id_family}/workers/{id_worker} -> POST Permet d’ajouter un worker à la liste des workers
DELETE /{id_family}/workers/{id_worker} -> DELETE Permet de supprimer un worker

A noter, que la resource ProcessDistributorResource est utilisée dans la partie Processing-Management.

11.4.3. Core

Dans la partie core la classe ProcessDistributorImpl propose une méthode principale : distribute. Cette méthode permet de lancer des étapes et de les diriger vers différents Workers (pour l’instant un seul worker existe). De plus, un système de monitoring permet d’enregistrer le statut des étapes lancées par la méthode distribute (cf module ProcessMonitoring). En attributs de l’implémentation du ProcessDistributor, sont présents 1 map de Workers ainsi qu’une liste de Workers disponibles. Ces 2 objets permettent (et permettront plus finement dans le futur) de gérer la liste des workers disponibles. Deux méthodes : registerWorker et unregisterWorker permettent d’ajouter ou de supprimer les workers à la liste des workers disponibles.

11.4.3.1. Processing-distributor-client

Pour le moment le module est vide, car la partie client permettant d’appeler les méthodes register / unregister est portée par le module processing-management-client. A terme, il sera souhaité d’avoir 2 clients séparés.