gpf_agent_rok4.agent_rok4 module¶
Main module logic.
- class gpf_agent_rok4.agent_rok4.Rok4Agent(endpoint_name: str, pod_id: str, url_entrepot: str, exchange_name: str, publication_result_topic: str, host: str = 'localhost', port: int = 5672, keycloack_user_id: str | None = None, rabbit_login: str | None = None, rabbit_password: str | None = None, service_url_health_check: str = '', health_filepath: Path | None = None, work_dir: Path | None = None, rok4_url='', listening_mode: bool = True, consistency_checking_timer: int = 300, consistency_checking_enabled: bool = True, mattermost_webhook_scheme: str = 'http', mattermost_webhook_host: str = 'mattermost.gpf-tech.ign.fr', mattermost_webhook_port: int = 80, mattermost_webhook_token: str | None = None, mattermost_request_timeout: int = 60)¶
Bases :
PublishAgent
Cette class définie l’agent de publication qui communique avec le Rok4.
Au démarrage l’agent attend que le serveur ROK4 démarre. Il l’initialise en interrogeant l’API Entrepot. Il se met en attente des messages à traiter.
- __init__(endpoint_name: str, pod_id: str, url_entrepot: str, exchange_name: str, publication_result_topic: str, host: str = 'localhost', port: int = 5672, keycloack_user_id: str | None = None, rabbit_login: str | None = None, rabbit_password: str | None = None, service_url_health_check: str = '', health_filepath: Path | None = None, work_dir: Path | None = None, rok4_url='', listening_mode: bool = True, consistency_checking_timer: int = 300, consistency_checking_enabled: bool = True, mattermost_webhook_scheme: str = 'http', mattermost_webhook_host: str = 'mattermost.gpf-tech.ign.fr', mattermost_webhook_port: int = 80, mattermost_webhook_token: str | None = None, mattermost_request_timeout: int = 60)¶
Permet d’initialiser l’agent ROK4.
- Paramètres:
endpoint_name (str) – nom du endPoint
pod_id (str) – nom de l’identifiant de service
url_entrepot (str) – URL de l’Entrepôt
exchange_name (str) – Nom de l’exchange
publication_result_topic (str) – topic du bus sur lequel l’agent envoie une réponse
host (str) – nom de l’hôte du serveur RabbitMQ
port (int) – port du serveur rabbitMQ
keycloack_user_id (str) – id de l’utilisateur technique qui a le
/technical (droit d'utiliser les appels en)
rabbit_login (str) – utilisateur du bus RabbitMQ
rabbit_password (str) – mot de passe pour le bus RabbitMQ
health_filepath – chemin vers le fichier de santé de l’agent
work_dir (Path, optional) – dossier dans le quel l’agent peut créer des fichiers
rok4_url (str, optional) – url du ROK4
listening_mode (bool) –
???
consistency_checking_timer (int), temps de repos (en secondes)
mattermost_webhook_scheme (str)
mattermost_webhook_host (str)
mattermost_webhook_port (int)
mattermost_webhook_token (str)
- generate_conf(params: dict) dict ¶
Génère la configuration a envoyer au server ROK4
- Paramètres:
params (dict) – paramètres du message RabbitMQ
- Renvoie:
configuration ROK4
- Type renvoyé:
dict
- get_published_offerings() list[str] ¶
Fonction qui récupère la liste des offres publiées sur le serveur.
- Renvoie:
La liste des offres publiées.
- Type renvoyé:
List[str]
- is_offering_published(params: dict) bool ¶
Fonction qui vérifie si une offre est déjà publiée sur le serveur. :param offering: offre courante :type offering: dict
- Renvoie:
True si l’offre a déjà été publiée précédemment, False sinon.
- Type renvoyé:
bool
- publish_offering(params: dict) Status ¶
Permet de publier un service ROK4.
- Paramètres:
params (dict) – paramètres de publication
- Renvoie:
état de la publication
- Type renvoyé:
Status
- synchronize_offering(params: dict) Status ¶
Permet de synchroniser un service ROK4.
- Paramètres:
params (dict) – paramètres de publication
- Renvoie:
état de la publication
- Type renvoyé:
Status
- unpublish_offering(params: dict) Status ¶
Permet de dépublier un service ROK4.
- Paramètres:
params (dict) – paramètres de publication
- Renvoie:
état de la publication
- Type renvoyé:
Status
- gpf_agent_rok4.agent_rok4.run(endpoint_name: str, pod_id: str, url_entrepot: str, exchange_name: str, publication_result_topic: str, host: str, port: int, keycloack_user_id: str | None, rabbit_login: str | None, rabbit_password: str | None, service_url_health_check: str, health_filepath: Path, work_dir: Path, rok4_url: str, consistency_checking_timer: int, consistency_checking_enabled: bool, mattermost_webhook_scheme: str, mattermost_webhook_host: str, mattermost_webhook_port: int, mattermost_webhook_token: str, mattermost_request_timeout: int)¶
Fonction principale permettant la création de l’agent.
- Paramètres:
endpoint_name (str) – nom du endPoint
pod_id (str) – nom de l’identifiant de service
url_entrepot (str) – URL de l’Entrepôt
exchange_name (str) – Nom de l’exchange
publication_result_topic (str) – topic du bus sur lequel l’agent envoie une réponse
host (str) – nom de l’hôte du serveur RabbitMQ
port (int) – port du serveur rabbitMQ
keycloack_user_id (str) – id de l’utilisateur technique qui a le
/technical (droit d'utiliser les appels en)
rabbit_login (str) – utilisateur du bus RabbitMQ
rabbit_password (str) – mot de passe pour le bus RabbitMQ
service_url_health_check (str) –
???
health_filepath (Path) –
???
work_dir (Path, optional) – dossier dans le quel l’agent peut créer des fichiers
rok4_url (str, optional) – url du ROK4
consistency_checking_timer (int), temps de repos (en secondes)
mattermost_webhook_scheme (str)
mattermost_webhook_host (str)
mattermost_webhook_port (int)
mattermost_webhook_token (str)