gpf_pub_agent_altimetrie.agent_altimetrie module#

Main module logic.

class gpf_pub_agent_altimetrie.agent_altimetrie.AltimetrieAgent(endpoint_name: str, pod_id: str, url_entrepot: str, exchange_name: str, publication_result_topic: str, rabbit_host: str = 'localhost', rabbit_port: int = 5672, keycloack_user_id: str = None, user_agent: str = 'AgentdepublicationAltimetrie/0.6.0', rabbit_login: str = None, rabbit_password: str = None, altimetrie_admin_url: str = '', listening_mode: bool = True, health_filepath: Path = None, 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, mattermost_request_timeout: int = 60)#

Bases : PublishAgent

Cette classe définit l’agent de publication qui communique avec le Geoservice.

Au démarrage l’agent attend que le Geoservice démarre. Il l’initialise en interrogeant l’API Entrepot. Il se met en attente des messages à traiter.

connect_to_entrepot() None#

Bypass default connect_to_entrepot function when no rabbit host is defined.

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.

Attention, cette méthode est à implémenter dans les agents spécifiques qui héritent d’une classe PublishAgent de Pyroger.

Paramètres:

offering (dict) – offre courante

Renvoie:

True si l’offre a déjà été publiée précédemment, False sinon.

Type renvoyé:

bool

is_service_available() bool#

Vérifie si le service est disponible.

Paramètres:

service_url_health_check (str) – url de vérification de l’état du service

Renvoie:

True si service disponible, False autrement

Type renvoyé:

bool

publish_offering(params: dict) Status#

Permet de publier un service ALTIMETRY.

Paramètres:

params (dict) – paramètres de publication

Renvoie:

état de la publication

Type renvoyé:

Status

synchronize_offering(params: dict) Status#

Permet de synchroniser(dépublier+republier) un service ALTIMETRY.

Paramètres:

params (dict) – paramètres de synchronisation

Renvoie:

état de la synchronisation

Type renvoyé:

Status

unpublish_offering(params: dict) Status#

Permet de dépublier un service ALTIMETRY.

Paramètres:

params (dict) – paramètre de publication

Renvoie:

état de la publication

Type renvoyé:

Status

gpf_pub_agent_altimetrie.agent_altimetrie.run(endpoint_name: str, pod_id: str, url_entrepot: str, exchange_name: str, publication_result_topic: str, rabbit_host: str, rabbit_port: int, keycloack_user_id: str, user_agent: str, rabbit_login: str, rabbit_password: str, altimetrie_admin_url: str, health_filepath: Path, 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 pour le bus d’écoute

  • pod_id (str) – Id du POD

  • url_entrepot (str) – URL de l’Entrepôt

  • publication_topic (str) – topic du bus sur lequel l’agent écoute

  • publication_result_topic (str) – topic du bus sur lequel l’agent envoie une réponse

  • rabbit_host (str) – nom de l’hôte du serveur RabbitMQ

  • rabbit_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) –

  • user_agent (str) – nom du user_agent à envoyer lors des requètes vers l’API Entrepot

  • rabbit_login (str) – utilisateur du bus RabbitMQ

  • rabbit_password (str) – mot de passe pour le bus RabbitMQ

  • altimetrie_admin_url (str) – url de l’administration de Geoservice

  • health_filepath (Path) – chemin vers le fichier de santé de l’agent

  • 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) –