gpf_pub_agent_download.agent_download module#

Main module logic.

class gpf_pub_agent_download.agent_download.DownloadAgent(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, user_agent: str = 'gpfpubagentdownload/1.8.0', rabbit_login: str | None = None, rabbit_password: str | None = None, service_url: str = '', service_url_health_check: str = '', listening_mode: bool = True, health_filepath: Path | None = 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 = None, mattermost_request_timeout: int = 60)#

Bases : PublishAgent

Cette classe définit l’agent de publication qui avec le serveur de téléchargement

Au démarrage l’agent attend que le service de téléchargement 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, user_agent: str = 'gpfpubagentdownload/1.8.0', rabbit_login: str | None = None, rabbit_password: str | None = None, service_url: str = '', service_url_health_check: str = '', listening_mode: bool = True, health_filepath: Path | None = 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 = None, mattermost_request_timeout: int = 60)#

Permet d’initialiser l’agent Road2.

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 du bus sur lequel

  • écouter

  • une (vaut "my_exchange" par défaut. Ne doit pas être) –

  • vide. (chaîne) –

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

  • 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

  • service_url (str, optional) – url du service de téléchargement

  • service_url_health_check (str, optional) – url de vérification de l’état du service de téléchargement

  • listening_mode (bool, optional) – lance l’attente de réception de nouveaux message (default True)

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

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 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 sur le service DOWNLOAD.

Paramètres:

params (dict) – paramètres de publication

Renvoie:

état de la publication

Type renvoyé:

Status

synchronize_offering(params: dict) Status#

Permet de synchroniser sur le service DOWNLOAD.

Paramètres:

params (dict) – paramètre de publication

Renvoie:

état de la publication

Type renvoyé:

Status

unpublish_offering(params: dict) Status#

Permet de dépublier sur le service DOWNLOAD.

Paramètres:

params (dict) – paramètres de publication

Renvoie:

état de la publication

Type renvoyé:

Status

gpf_pub_agent_download.agent_download.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, user_agent: str, rabbit_login: str, rabbit_password: str, service_url: str, service_url_health_check: 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

  • exchange_name (str) – nom de l’exchange du bus sur lequel

  • écouter

  • une (vaut "my_exchange" par défaut. Ne doit pas être) –

  • vide. (chaîne) –

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

  • 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

  • service_url (str) – url du service de téléchargement

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

  • health_filepath (Path) – Chemin vers le fichier de « health » 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) –