gpf_agent_vector_tms.agent_vector_tms module

Main module logic.

class gpf_agent_vector_tms.agent_vector_tms.VectorTMSAgent(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, geoservice_url: str = '', listening_mode: bool = True, pg_user: str = '', pg_pass: str = '', pg_tileserv_pg_host: str = '', pg_tileserv_pg_port: int = 5432, pg_tileserv_pg_db: str = '', pg_tileserv_pg_login: str = '', pg_tileserv_pg_password: str = '', 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 PG_Tileserv.

Au démarrage l’agent attend que le serveur PG_Tileserv 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, geoservice_url: str = '', listening_mode: bool = True, pg_user: str = '', pg_pass: str = '', pg_tileserv_pg_host: str = '', pg_tileserv_pg_port: int = 5432, pg_tileserv_pg_db: str = '', pg_tileserv_pg_login: str = '', pg_tileserv_pg_password: str = '', 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

  • service_url_health_check (str) – URL de health check du service PG_Tileserv

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

  • geoservice_url (str) – url du PG_Tileserv

  • listening_mode (bool) – déclenche l’écoute du bus a la fin de l’initialisation

  • pg_user (str) – login des bases de données de contenant les stored_data

  • pg_pass (str) – password des bases de données de contenant les stored_data

  • pg_tileserv_pg_host (str) – host de la base de données de pg_tilserv

  • pg_tileserv_pg_port (int) – port de la base de données de pg_tilserv

  • pg_tileserv_pg_db (str) – nom de la base de données de pg_tilserv

  • pg_tileserv_pg_login (str) – login de la base de données de pg_tilserv

  • pg_tileserv_pg_password (str) – password de la base de données de pg_tilserv

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

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]

init_pgdatabase(storage_type_infos: dict) PgDatabase
is_offering_published(params: dict) bool

Fonction qui vérifie si une offre est déjà publiée sur le serveur. :param params: offre courante :type params: 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 flux VECTOR-TMS.

Paramètres:

params (dict) – paramètres de publications

Renvoie:

état de la publication

Type renvoyé:

Status

synchronize_offering(params: dict) Status

Permet de synchroniser(dépublier+republier) un flux VECTOR-TMS.

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 flux VECTOR-TMS.

Paramètres:

params (dict) – paramètres de dépublications

Renvoie:

état de la dépublication

Type renvoyé:

Status

gpf_agent_vector_tms.agent_vector_tms.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, rabbit_login: str, rabbit_password: str, service_url_health_check: str, health_filepath: Path, geoservice_url: str, pg_user: str, pg_pass: str, pg_tileserv_pg_host: str, pg_tileserv_pg_port: int, pg_tileserv_pg_db: str, pg_tileserv_pg_login: str, pg_tileserv_pg_password: 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) – URL de health check du service PG_Tileserv

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

  • geoservice_url (str) – url du PG_Tileserv

  • pg_user (str) – login des bases de données de contenant les stored_data

  • pg_pass (str) – password des bases de données de contenant les stored_data

  • pg_tileserv_pg_host (str) – host de la base de données de pg_tilserv

  • pg_tileserv_pg_port (int) – port de la base de données de pg_tilserv

  • pg_tileserv_pg_db (str) – nom de la base de données de pg_tilserv

  • pg_tileserv_pg_login (str) – login de la base de données de pg_tilserv

  • pg_tileserv_pg_password (str) – password de la base de données de pg_tilserv

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