gpf_pub_agent_road2.agent_road2 module#
Main module logic.
- class gpf_pub_agent_road2.agent_road2.Road2Agent(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: Optional[str] = None, user_agent: str = 'AgentdepublicationRoad2/1.11.0', rabbit_login: Optional[str] = None, rabbit_password: Optional[str] = None, service_url_health_check: str = '', work_dir: Optional[Path] = None, pg_user: str = '', pg_pass: str = '', road2_graph_data_dir: Optional[Path] = None, road2_service_dir: Optional[Path] = None, road2_admin_url: str = '', listening_mode: bool = True, health_filepath: Optional[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: Optional[str] = None, mattermost_request_timeout: int = 60, road2_db_pool_size: Optional[int] = None)#
Bases :
PublishAgent
Cette classe définit l’agent de publication qui communique avec Road2.
Au démarrage l’agent attend que Road2 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: Optional[str] = None, user_agent: str = 'AgentdepublicationRoad2/1.11.0', rabbit_login: Optional[str] = None, rabbit_password: Optional[str] = None, service_url_health_check: str = '', work_dir: Optional[Path] = None, pg_user: str = '', pg_pass: str = '', road2_graph_data_dir: Optional[Path] = None, road2_service_dir: Optional[Path] = None, road2_admin_url: str = '', listening_mode: bool = True, health_filepath: Optional[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: Optional[str] = None, mattermost_request_timeout: int = 60, road2_db_pool_size: Optional[int] = None)#
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_health_check (str) – url de vérification de l’état du service
work_dir (Path, optional) – dossier dans le quel l’agent peut créer des fichiers
pg_user (str, optional) – utilisateur de la base de donnees PGRouting
pg_pass (str, optional) – mot de passe de la base de donnees PGRouting
road2_graph_data_dir (Path) – dossier contenant les données de graphes partagé par tout les endpoint
road2_service_dir (Path) – dossier contenant les fichiers de configuration pour Road2
road2_admin_url (str, optional) – url de l’administration de Road2
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) –
road2_db_pool_size (int, optional) – taille du pool de connection dans le service Road2
- 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 un service ITINERARY ou ISOCHRONOUS.
- 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 ITINERARY ou ISOCHRONOUS.
- 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 un service ITINERARY ou ISOCHRONOUS.
- Paramètres:
params (dict) – paramètre de publication
- Renvoie:
état de la publication
- Type renvoyé:
Status
- gpf_pub_agent_road2.agent_road2.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_health_check: str, work_dir: Path, pg_user: str, pg_pass: str, road2_graph_data_dir: Path, road2_service_dir: Path, road2_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, road2_db_pool_size: Optional[int] = None)#
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_health_check (str) – url de vérification de l’état du service
work_dir (Path) – dossier dans lequel l’agent peut créer des fichiers
pg_user (str) – utilisateur de la base de donnees PGRouting
pg_pass (str) – mot de passe de la base de donnees PGRouting
road2_graph_data_dir (Path) – dossier contenant les données de graphes partagé par tout les endpoint
road2_service_dir (Path) – dossier contenant les fichiers de configuration pour Road2
road2_admin_url (str) – url de l’administration de Road2
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) –
road2_db_pool_size (int, optional) – taille du pool de connection dans le service Road2