Opened 7 years ago

Closed 7 years ago

#187 closed defect (fixed)

Les Api ne redémarrent pas toutes seules

Reported by: sly Owned by: sly
Priority: major Component: api-fr
Keywords: Cc: jocelyn

Description

Suite à un redémarrage du serveur, ni xapi/api/overpass/l'application des minutes diffs ne re-fonctionnent, il faut lancer un script à la main (avec paramètres spéciaux) pour relancer tout ça, c'est assez pénible, et dans les faits, seul sly sait le faire, et donc rien ne marche tant qu'il n'a pas fait la manip.

Change History (6)

comment:1 Changed 7 years ago by sly

Jocelyn a proposé :
Est-ce que c'est un truc qu'on pourrais surveiller sur le monit de osm103 ?

S'il suffit de surveiller un port (ou un PID trouvable dans un fichier), et qu'un script s'occupe du lancement, c'est facile à intégrer dans /etc/monit/conf.d/local

comment:2 Changed 7 years ago by sly

Pour mieux percevoir le problème: l'overpass est un ensemble de script et de programmes vaguement intégrés les uns aux autres et de ce fait, rien n'est facilement automatisable. La doc elle même propose de "lancer à la main dans un shell"

Il n'y a pas de port réseau à surveiller (c'est une connexion de type UNIX socket entre le client et le serveur) et il n'y a pas non plus de PID à trouver nulle part à part avec "ps" )

J'ai bien pensé à faire moi même un script de lancement, mais ça n'est pas complet car je n'arrive pas à automatiser la remise en route de l'application des minutes diffs, ou alors il faudrait que je bidouille salement.

Bref, la solution est de remonter au coeur des programmes et leur faire faire les chose plus "proprement" avant qu'un start script soit faisable sans trop bidouiller.

Je vais réfléchir à la question et pousser les patchs upstream

Last edited 7 years ago by sly (previous) (diff)

comment:3 Changed 7 years ago by jocelyn

J'ai rajouté récemment http://api.openstreetmap.fr dans la liste des serveurs surveillés par https://osm101.openstreetmap.fr/monit/

Ce monit envoie un email uniquement à admin@ pour le moment. Je ne sais pas si tu y es abonné - sinon, est-ce que tu voudrais recevoir ces emails ?

comment:4 Changed 7 years ago by sly

Je veux bien oui, sur alertes@ comme pour munin. Mais à noter que je reçois déjà des alertes, le seul truc, c'est les alertes ne concernent que le dépassement du "niveau", pas le fait que ça ne réponde plus.

D'où une question annexe, comment vas-tu programmer monit ?
Sur quelle info va-t-il dire "problème/pas problème" ?

comment:5 Changed 7 years ago by anonymous

N'écoutant que mon courage, j'ai créé une nouvelle méthode pour mettre à jour la base. Cela devrait être plus simple au final (pour un peu de performance en moins) mais surtout me permettre de relancer automatiquement les services au boot, avec suivi d'un pid (enregistré dans /var/run)

Ma version est ici : https://github.com/sletuffe/Overpass-API
j'attends un peu avant de proposer à roland une pull request que des bugs soient repérés et corrigés.

Cette version est en place sur osm106. Au passage, c'est donc une mise à jour (0.7.1) qui devrait gérer les ID 64bits, corriger #179 et donc, apporter le redémarrage automatique des services et des diffs update au boot de la machine.

Je vais laisser vivre un peu le temps de trouver les bugs, et je déploierais sur osm103 (api base monde)

--
sly

comment:6 Changed 7 years ago by sly

  • Resolution set to fixed
  • Status changed from new to closed

Voilà donc qui est fait. Avec patchs poussés et acceptés upstream.

L'overpass dispose donc d'un script de démarrage (compatible debian/ubuntu) lui permettant de redémarrer complètement après plantage.

Et ces améliorations ont été propagées sur les deux apis, à suivre dans la durée...

Note: See TracTickets for help on using tickets.