Voici la documentation : https://geoplateforme.pages.gpf-tech.ign.fr/documentation

Skip to content
Extraits de code Groupes Projets

Attente du demarrage de geoserver

Tous les fils de conversation ont été résolus !
Fusionnées Benoit Ducarouge a demandé de fusionner evol-attente-geoserver vers main
Tous les fils de conversation ont été résolus !
1 fichier
+ 24
5
Comparer les modifications
  • Côte à côte
  • En ligne
@@ -40,7 +40,7 @@ class GeoserverAgent(PublishAgent):
geoserver_user: str = "",
geoserver_pass: str = "",
):
logger.info("Démarage de l'agent")
logger.info("Démarrage de l'agent")
self.endpoint_name = endpoint_name
self.pod_id = pod_id
self.pg_user = pg_user
@@ -51,12 +51,15 @@ class GeoserverAgent(PublishAgent):
geoserver_url, username=geoserver_user, password=geoserver_pass
)
logger.info("En attente du démarrage de Geoserver")
if not self.wait_for_geoserver(300, 20):
logger.error("Geoserver n'a pas démarré")
logger.info("Récupération de la configuration intiale")
# TODO attendre le démarrage du Geoserver
# for offre in self.supply_service():
# self.process_message(offre)
for offre in self.supply_service():
self.process_message(offre)
# TODO : checker le status pour répondre si on est pret
# TODO : checker/modifier le status pour répondre si on est pret
logger.info("Agent en attente de messages")
self.listen_to_entrepot()
@@ -91,6 +94,22 @@ class GeoserverAgent(PublishAgent):
resp = self.publish_response(message, status.name)
logger.info(resp)
def wait_for_geoserver(self, timeout, period: int = 20):
mustend = time.time() + timeout
while time.time() < mustend:
try:
version = self.geoserver.get_version()
if (
"about" in version
and "resource" in version["about"]
and len(version["about"]["resource"]) > 0
):
return True
except:
version = None
time.sleep(period)
return False
def process_message(self, params: dict = {}) -> Status:
logger.info(f"AGENT GEOSERVER : traitement du message - {params}")
Chargement en cours