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